Pagini recente » Cod sursa (job #2509771) | Cod sursa (job #2957590) | Cod sursa (job #75728) | Cod sursa (job #129763) | Cod sursa (job #1320917)
#include <stdio.h>
#define NMAX 1001
using namespace std;
int E[NMAX],C[NMAX];
int sol[NMAX][5*NMAX];
int main(){
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int n,w,s=0;
scanf("%d",&n);
scanf("%d",&w);
for(int i=1;i<=n;++i){
scanf("%d %d",&E[i],&C[i]);
s+=E[i];
}
if(s<w) printf("-1\n");
else{
for(int i=1;i<=n;++i)
for(int j=1;j<=w;++j)
if(E[i]<=j)
if(C[i]+sol[i-1][j-E[i]]>sol[i-1][j])
sol[i][j]=C[i]+sol[i-1][j-E[i]];
else
sol[i][j]=sol[i-1][j];
else
sol[i][j]=sol[i-1][j];
printf("%d\n",sol[n][w]);
}
return 0;
}