Official
C - 遠足のおやつ / Field Trip Snacks Editorial
by
C - 遠足のおやつ / Field Trip Snacks Editorial
by
kyopro_friends
買うおやつの種類数を増やすには、安いおやつから順に貪欲に買うのが最適です。よって、 \(P\) をソートして、安い方から順に買えるなら買うとすればよいです。
実装例 (C++)
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, t;
long long e;
cin >> n >> t >> e;
vector<int>p(n);
for(int i=0; i<n; i++) cin >> p[i];
sort(p.begin(), p.end());
int ans = 0;
for(int i=0; i<n; i++){
if((long long)p[i] * t <= e){
ans++;
e -= (long long)p[i] * t;
}
}
cout << ans << endl;
}
実装例 (Python)
N, T, E = map(int, input().split())
P = list(map(int, input().split()))
P.sort()
ans = 0
for p in P:
if p * T <= E:
ans += 1
E -= p * T
print(ans)
posted:
last update:
