11399-ATM(C++)

3806 ワード

🗒 11399問題



📌 ソート関数を使用して問題を解きましょう

1️⃣ 돈을 인출하는데 필요한 시간의 합의 최솟값을 찾고 있다

2️⃣ 최솟값이 나오는 순서는 필요한 시간이 적은 순서대로

3️⃣ 들어온 순서를 sort 함수로 재배열하고 재배열한 순서대로 시간의 합을 구하자

➰コード11399➰

#include <iostream>
#include <algorithm>

using namespace std;

int main() {
    int num, total = 0, sum = 0;
    int numbers[1002] = { 0 };
    cin >> num;
    
    for (int i = 0; i < num; i++) {
        cin >> numbers[i];
    }
    
    // 필요한 시간이 적은 순서대로 재배열
    sort(numbers, numbers+num);
    
    // 시간의 합 계산
    for (int i = 0; i < num; i++) {
        total += numbers[i];
        sum += total;
    }
    
    cout << sum << endl;
}