Cod sursa(job #2520163)
| Utilizator | Data | 9 ianuarie 2020 01:10:22 | |
|---|---|---|---|
| Problema | Energii | Scor | 35 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include<bits/stdc++.h>
using namespace std;
int w[1010],c[1010],n,g,tot,ans[10001*1001+5];
int32_t main(){
ifstream cin("energii.in");
ofstream cout("energii.out");
cin >> n >> g;
for(int i = 1; i <= n; i++){
cin >> w[i] >> c[i];
tot += c[i];
}
for(int i = 1; i <= n; i++){
for(int j = tot; j >= c[i]; j--){
ans[j] = max(ans[j] , ans[j-c[i]] + w[i]);
}
}
for(int i = 1; i <= tot; i++){
if(ans[i] >= g){
cout<<i;
return 0;
}
}
}
