습관처럼
백준 11399 - ATM 본문
https://www.acmicpc.net/problem/11399
문제 설명
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 |