경험의 기록

문제 : www.acmicpc.net/problem/11399

 

11399번: ATM

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

www.acmicpc.net

 

풀이

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
// 11399 ATM
 
#include <iostream>
#include <queue>
using namespace std;
 
int main() {
    priority_queue<intvector<int>, greater<int>> q;
    int n,a;
    int sum = 0;
 
    cin >> n;
    int* arr = new int[n];
 
    for (int i = 0; i < n; i++) {
        cin >> a;
        q.push(a);
    }
    for (int i = 0; i < n; i++) {
        arr[i] = q.top();
        q.pop();
    } // 우선순위큐로 오름차순으로 정렬해놓음
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < i+1; j++) {
            sum += arr[j];
        }
    } // 그 전의 값을 다 더해준다
    cout << sum;
}
cs
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading