【題解】ZeroJudge d150: 11369 – Shopaholic

【題目敘述】https://zerojudge.tw/ShowProblem?problemid=d150
【解題想法】

  • 先針對價錢由大到小排序。
  • 接著每三筆結帳金額都可以省下第三筆的價格。
#include <iostream>
#include <algorithm>
using namespace std;

bool cmp(int a, int b){
    return a > b;
}

int main(){
    int T, n;
    cin >> T;
    while (T--){
        cin >> n;
        int a[n];
        for (int i = 0; i < n; i++){
            cin >> a[i];
        }
        sort(a, a+n, cmp);
        int sum = 0;
        for (int i = 2; i < n; i+=3){
            sum += a[i];
        }
        cout << sum << "\n";
    }
}
分享本文 Share with friends