Pagini recente » Diferente pentru utilizator/stargold2 intre reviziile 149 si 275 | Profil StarGold2 | Borderou de evaluare (job #3135197) | Diferente pentru utilizator/jupanu92 intre reviziile 13 si 14 | Cod sursa (job #2642180)
//#include <iostream>
#include <fstream>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
const int NMAX=10005;
int g,w,cg[NMAX],eg[NMAX],ans[NMAX][NMAX];
int main(){
cin >>g>>w;
for(int i=1;i<=g;i++){
cin >>eg[i]>>cg[i];
}
for(int i=0;i<=g;i++){
for(int j=0;j<=w;j++){
if(i==0 ||j==0){
ans[i][j]=0;
}else if(eg[i]<=j){
ans[i][j]=max(ans[i-1][j],cg[i]+ans[i-1][j-eg[i]]);
}else ans[i][j]=ans[i-1][j];
}
}
cout <<ans[g][w];
return 0;
}