View

반응형

 

알고리즘 분류: 그리디 알고리즘, 정렬

문제 링크: 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 main(void)
{
	int human[1001];
	int n;
	int sum=0;
	cin >> n;
	for (int i = 0; i < n; i++)
		cin >> human[i];

	sort(human, human + n);
	
	for (int i = 0; i < n; i++)
	{
		human[i + 1] += human[i];
		sum += human[i];
	}
	cout << sum;
	return 0;
}

 

 

728x90
반응형
Share Link
reply
250x250
반응형
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31