반응형
링크
https://www.acmicpc.net/problem/11399
풀이
보시면 한 ATM 밖에 이용하지 못하는 상황입니다.
각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 찾는 문제입니다.
각 사람이 돈을 인출하는데 걸리는 시간이 주어지기 때문에 일찍 돈을 인출할 수 있는 사람을 앞으로 보내주면 됩니다.
배열에 인출 시간을 받고 정렬을 한 다음 이중 반복문으로 답을 구하면 됩니다.
코드
//11399_ATM
#include <cstdio>
#include <algorithm>
using namespace std;
int n, sum, arr[1001];
int main() {
scanf("%d", &n);
for (int i = 0; i < n; ++i) scanf("%d", &arr[i]);
sort(arr, arr+n);
for (int i = 0; i < n; ++i) {
for (int j = 0; j <= i; ++j) {
sum += arr[j];
}
}
printf("%d\n", sum);
return 0;
}
반응형
'PS > BOJ' 카테고리의 다른 글
[백준 BOJ] 3047 ABC (0) | 2019.08.13 |
---|---|
[백준 BOJ] 5585 거스름돈 (0) | 2019.08.13 |
[백준 BOJ] 16433 주디와 당근농장 (0) | 2019.08.13 |
[백준 BOJ] 10988 팰린드롬인지 확인하기 (0) | 2019.08.13 |
[백준 BOJ] 5598 카이사르 암호 (0) | 2019.08.12 |