본문 바로가기
백준 문제 풀이

[백준 11399] ATM

by $# 2020. 3. 24.

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


해설

이번 문제는 그리디를 적용하는 문제이다.

 

예제에서

총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우

줄을 [2,5,1,4,3] 으로 서게 되면 최소가 된다고 하였다.

 

여기서 중요한 점은 [2, 5, 1, 4, 3]으로 줄을 서면 1,2,3,3,4 로 값이 정렬된다는 점이다.

 

그렇다.

 

받는 값을 정렬 시켜 더해주면 된다.

 

 

˙˙˙

 

소스코드

 

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
	vector<int >g;
	int n; 
	cin >> n;
	for(int i=0, a; i<n; i++)
		cin >> a, g.push_back(a);
	sort(g.begin(), g.end());
	int cnt = 0;
	for(int i=0; i<n; i++)
		for(int j=0; j<=i; j++){
			cnt += g[j];
		}
	cout << cnt << '\n';
}

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

[백준 1049] 기타줄  (0) 2020.03.25
[백준 1946] 신입 사원  (0) 2020.03.24
[백준 1931] 회의실배정  (0) 2020.03.23
[백준 11047] 동전 0  (0) 2020.03.23
[백준 5585] 거스름돈  (0) 2020.03.23

댓글