반응형
간단한 그리디 문제였습니다.
풀이방법
1. 오름차순 정렬 : 전체 대기시간이 한 대기시간으로부터 누적되어 더해지기 때문에 가장 시간이 적게 걸리는 사람이 먼저 은행업무를 봐야 합니다. 이를 위해 오름차순 정렬을 먼저합니다.
2. 전체 걸리는 시간을 계산해줍니다.
Code
#include <iostream>
#include <algorithm>
using namespace std;
int n;
int arr[1000];
int main(){
cin >> n;
for(int i = 0; i < n; i++) cin >> arr[i];
sort(arr, arr + n);
int ans = 0;
int sum = 0;
for(int i = 0; i < n; i ++){
sum += arr[i];
ans += sum;
}
cout << ans << '\n';
}
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 10170번 : NFC West vs North (0) | 2016.11.10 |
---|---|
(C++) - 백준(BOJ) 9325번 : 얼마? 답 (0) | 2016.11.10 |
(C++) - 백준(BOJ) 1977번 : 완전제곱수 (0) | 2016.10.27 |
(C) - 백준(BOJ) 10039 : 평균점수 (0) | 2016.10.20 |
(C) - 백준(BOJ) 2562번 : 최대값 답 (2) | 2016.10.20 |