[백준] 11399 ATM c++

2022. 7. 3. 21:45알고리즘/백준

728x90

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

 

11399번: ATM

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

www.acmicpc.net

 

문제를 이해하는 것에 시간을 거의 다 쓰고 코딩을 직접 하는 데에는 거의 시간을 안 쓴 거 같다. 

문제의 내용은 자황하지만 쉽게 풀어쓰면 오름차 순후 누적합을 계속해주는 형식이다. 

 

#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;
vector <int> v;
int main() {

	int n;
	cin >> n;
	for (int i = 0; i < n; i++) {
		int k;
		cin >> k;
		v.push_back(k);
	}
	sort(v.begin(), v.end());
	int sum = 0;
	long long int total = 0;
	for (int i = 0; i < v.size(); i++) {
		sum = sum + v[i];
		total += sum;
	}
	cout << total;

}
728x90