公式
B - お土産の選別 / Souvenir Selection 解説
by
B - お土産の選別 / Souvenir Selection 解説
by
kyopro_friends
満足度の高いから \(N-K\) 個を持ち帰ればよいです。
(そうでないなら、持ち帰るお土産の中に、諦めるお土産より満足度が低いものが存在するので、それらを交換する方が得です)
よって、ソートして和を取ることで解くことができます。計算量は \(O(N\log N)\) です。
実装例 (C++)
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, k;
cin >> n >> k;
vector<int>d(n);
for(int i=0; i<n; i++) cin >> d[i];
sort(d.begin(), d.end());
long long ans=0;
for(int i=k; i<n; i++){
ans += d[i];
}
cout << ans << endl;
}
実装例 (Python)
N, K = map(int, input().split())
D = list(map(int, input().split()))
D.sort()
print(sum(D[K:]))
投稿日時:
最終更新:
