Pagini recente » Cod sursa (job #1476314) | Cod sursa (job #2119233) | Cod sursa (job #2895407) | Cod sursa (job #1568304) | Cod sursa (job #2772616)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("energii.in");;
ofstream fout("energii.out");
int n, ENG, out, i, j, E[10005], P[10005], f[10005];
int main(){
fin >> n >> ENG;
for (i = 1; i <= n; i++){
fin >> E[i] >> P[i];
}
for (i = 1; i <= n; i++){
for (j = ENG; j >= 1; j--){
if ( f[j] == 1 ){
if ( j + E[i] <= ENG && f[ j + E[i] ] < f[j] + P[i] )
f[ j + E[i] ] = f[j] + P[i];
}
}
if ( E[i] <= ENG && f[ E[i] ] < P[i])
f[ E[i] ] = P[i];
}
for (i = 1; i <= ENG; i++){
out = max(out, f[i]);
}
fout << out;
return 0;
}