문제의 조건
- 맨 뒷 줄의 대기자는 앞 줄의 대기자들의 인출시간을 다 더한 값 + 자기가 걸리는 시간만큼 걸리게 된다.
- 모든 대기자들의 인출 시간 중 최솟값을 구해야 함
접근
단순하게 풀기
- 단순하게 더하여 구할 수 있다.
정답코드
더보기
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int N;
int GetWaitingTime(vector<int>& v)
{
int sum = 0;
for (int i = 0; i < v.size(); i++) {
for (int j = 0; j < i; j++) {
sum += v[j];
}
sum += v[i];
}
return sum;
}
int main()
{
cin >> N;
vector<int> v(N, 0);
for (int i = 0; i < N; i++) {
cin >> v[i];
}
sort(v.begin(), v.end());
printf("%d\n", GetWaitingTime(v));
return 0;
}
'알고리즘 관련 > BOJ' 카테고리의 다른 글
11779 최소비용 구하기 2 (0) | 2020.12.31 |
---|---|
13549 숨바꼭질 3 (0) | 2020.12.30 |
14938 서강그라운드 (0) | 2020.12.22 |
2751 수 정렬하기 2 (0) | 2020.12.20 |
2638 치즈 (0) | 2020.12.19 |