Algorithm/유형별 : Greedy
[C++] [Greedy] 백준 11399번 : ATM
쟌쥰
2020. 2. 2. 13:55
https://www.acmicpc.net/problem/11399
11399번: ATM
첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)
www.acmicpc.net
#include<iostream>
using namespace std;
//ATM
int main(void) {
int N, sum = 0;
cin >> N;
int *time = new int[N]; // new[]연산자 사용한 동적 배열할당
for (int i = 0; i < N; i++)
cin >> time[i];
//삽입정렬 - 오름차순 정렬일 때 시간의 합이 가장 짧다
int temp;
for (int i = 0; i < N - 1; i++) {
int j = i;
while (time[j] > time[j + 1]) {
temp = time[j];
time[j] = time[j + 1];
time[j + 1] = temp;
j--;
}
}
//시간의 합 구하기
for (int i = 0; i < N; i++) {
for (int j = 0; j <= i; j++)
sum += time[j];
}
//결과 출력
cout << sum << endl;
}