ATM 11399

PublicMinsu·2023년 3월 5일
0

문제

접근 방법

예제를 통해 보여주듯 낮은 값부터 해결해주는 것이 필요한 시간의 합의 최솟값을 구할 방법이다.
오름차순으로 정렬해주고 합을 구해주면 된다.

코드

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
    ios::sync_with_stdio(0), cin.tie(0);
    int N, sum = 0, totalSum = 0;
    cin >> N;
    vector<int> time(N);

    for (int i = 0; i < N; ++i)
        cin >> time[i];

    sort(time.begin(), time.end());

    for (int i = 0; i < N; ++i)
    {
        sum += time[i];
        totalSum += sum;
    }
    cout << totalSum;
}

풀이

스케줄링을 배웠다면 빠르게 해결할 수 있는 것부터 해결해주면 빠른 응답을 보여준다는 것을 배웠을 것이다. 해당 문제도 같은 원리로 빠른 것부터 해결하여 전체적인 값을 줄이는 것이다.

profile
연락 : publicminsu@naver.com

0개의 댓글