Written by JS970
on
on
11399 - ATM
- 난이도: 실버 4
- 날짜: 2023월 4월 3일
- 상태: Correct
- 추가 검토 여부: No
- 알고리즘 : sort
Solution
- 문제의 조건에 맞게 구현하기만 하면 되는 매우 간단한 문제이다.
- 정렬 알고리즘을 필요로 한다.
- 모든 경우의 수에 대해 고려해야 하므로 그리디 알고리즘의 범주에 속한다고 할 수 있다.
CPU 스케줄링 알고리즘 중 SJF알고리즘이다.
code
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int N;
cin >> N;
int * arr = new int[N];
for(int i = 0; i < N; i++)
cin >> arr[i];
sort(arr, arr + N);
int * wait = new int[N];
wait[0] = arr[0];
int sum = wait[0];
for(int i = 1; i < N; i++)
{
wait[i] = wait[i-1] + arr[i];
sum += wait[i];
}
cout << sum << endl;
return 0;
}