컴굥일지

[BOJ/백준 11399][C++] ATM 본문

알고리즘/코테 문제

[BOJ/백준 11399][C++] ATM

gyong 2022. 2. 14. 22:59
반응형

문제

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

 

문제 내용

사람들의 순서를 잘 배치해서, 전체 대기시간이 최대한 줄어들게 하면 된다.

 

문제 풀이

이 문제는 생각보다 간단하다.

사람들의 인출하는 시간을 입력받아 정렬하고 다 더하면 문제를 해결 할 수 있다.

이때 정렬을 하는 이유는, 앞사람이 빨리 업무를 처리할 수록, 뒤에 남은 사람들이 덜 기다리기 때문이다.

 

 

코드

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	//입력
	int n;
	cin >> n;
	vector<int>v(n);
	for (int i = 0; i < n; i++) cin >> v[i];

	//문제 해결
	sort(v.begin(), v.end()); //정렬
	int sum = 0;
	for (int i = 0; i < n; i++) {
		for (int j = 0; j <= i; j++) {
			sum += v[j];
		}
	}
	
	//결과 출력
	cout << sum << '\n';
}

 

반응형
Comments