Pagini recente » Cod sursa (job #2564397) | Cod sursa (job #1136034)
#include<vector>
#include<string.h>
#include<stdio.h>
#include<algorithm>
#define maxn 5001
#define maxg 10001
using namespace std;
int W[maxn],P[maxn];
int optim[maxg];
int main() {
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
int N,G;
scanf("%d %d",&N,&G);
for (int i=1;i<=N;i++) {
scanf("%d %d",&W[i],&P[i]);
}
optim[0]=0;
int sol=0;
for( int i=1;i<=N;i++)
for( int j=G-W[i];j>=0;j--) {
if(optim[j+W[i]]<optim[j]+P[i] )
{
optim[j+W[i]]=optim[j]+P[i];
if(optim[j+W[i]]>sol)
sol=optim[j+W[i]];
}
}
printf("%d", sol);
return 0;
}