습관처럼

백준 11399 - ATM 본문

Algorithms/BOJ

백준 11399 - ATM

dev.wookii 2020. 3. 10. 22:31

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

 

11399번: ATM

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

www.acmicpc.net

문제 설명


ATM에서 한 사람당 인출할 때 소요되는 시간이 주어진다. 이때 순서대로 인출을 진행되야되며 한 사람이 인출하는 동안 다른 사람은 인출하지 못한다. 즉 인출하는 동안 뒤에 순서에 있는 사람은 기다려야 한다는 것이다.

이때 모든 사람이 ATM에서 인출할 때, 총 인출시간이 짧은 시간을 출력하시면 됩니다!!

 

 

접근 방식


사이트 내에 보기를 한번 살펴보겠습니다.

잘 읽어보면 특이점을 찾을 수 있습니다. 즉, 인출시간이 빠른 사람부터 먼저 인출하는 것이 총 인출 시간을 단축하는 방법입니다.

참 쉽죠~ 

 

 

코드


#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n;
vector<int>atm;
int main(){
    cin>>n;
    int ans=0;
    for(int i=0;i<n;i++){
        int temp;cin>>temp;
        atm.push_back(temp);
    }
    sort(atm.begin(),atm.end());
    for(int i=1;i<n;i++) atm[i] = atm[i-1]+atm[i];
    for(int i=0;i<n;i++) ans+=atm[i];
    cout<<ans<<"\n";
    return 0;
}

funny algorithms *0* !!

'Algorithms > BOJ' 카테고리의 다른 글

백준 16235 - 나무 재테크  (0) 2020.03.12
백준 16234 - 인구이동  (0) 2020.03.11
백준 17143 - 낚시왕  (0) 2020.03.05
백준 17144 - 미세먼지 안녕!  (0) 2020.03.05
백준 16236 - 아기상어  (0) 2020.03.04