홍시홍의 프로그래밍

[백준 11399] ATM 본문

알고리즘 문제풀이/백준

[백준 11399] ATM

홍시홍 2020. 3. 10. 01:30

https://www.acmicpc.net/problem/11399

 

11399번: ATM

첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)

www.acmicpc.net

요구사항

최소 대기 시간 구하기

 

풀이

대기 시간은 배열의 앞 쪽부터 누적해서 더해진다.

작은 수가 앞 쪽에 배치하여 합을 구하면 최소가 된다.

대기 시간이 긴 순서를 조금만 사용하는 것

 

오름차순 정렬 후, 조건대로 더해준다

 

#include <iostream>
#include <algorithm>

using namespace std;
int n;
int map[1010];
int main() {
	scanf("%d", &n);
	for (int i = 0; i < n; i++) scanf("%d", &map[i]);
	sort(map, map + n);
	int ans = 0;
	for (int i = 0; i < n; i++) {
		for (int j = 0; j <= i; j++) {
			ans += map[j];
		}
	}
	cout << ans << endl;
}

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

[백준 1041] 주사위  (0) 2020.03.12
[백준 1205] 등수 구하기  (0) 2020.03.11
[백준 10423] 전기가 부족해  (0) 2020.03.10
[백준 13418] 학교 탐방하기  (0) 2020.03.09
[백준 3649] 로봇 프로젝트  (0) 2020.03.09
Comments