백준 11399번: ATM / C++

2023. 2. 24. 00:01개인공부/코딩테스트

11399번: ATM (acmicpc.net)

 

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
30
31
32
33
34
35
36
37
38
39
40
41
 
#include<iostream>
#include<map>
using namespace std;
 
int main()
{
    cin.tie(NULL);
    cout.tie(NULL);
    ios::sync_with_stdio(false);
 
    int N; 
    cin >> N;
    map<intint> ATM;
 
    for (int i = 0; i < N; ++i)
    {
        int num = 0;
        cin >> num;
 
        if (ATM.find(num) == ATM.end())
            ATM.insert(make_pair(num, 1));
        else
            ++ATM.find(num)->second;
    }
 
    int sum = 0 , ans = 0;
    for (auto iter = ATM.begin(); iter != ATM.end(); ++iter)
    {
        int Repeat = iter->second;
        for (int i = 0; i < Repeat; ++i)
        {
            sum += iter->first;
            ans += sum;
        }
    }
 
    cout << ans;
    return 0;
}
 
cs