Pagini recente » Cod sursa (job #1806380) | Cod sursa (job #2774030) | Cod sursa (job #3224715) | Cod sursa (job #1377955) | Cod sursa (job #2202036)
#include <bits/stdc++.h>
#define maxn 5010
#define maxg 10010
using namespace std;
int w[maxn], p[maxn];
int optim[maxg];
ifstream f("rucsac.in");
ofstream gout("rucsac.out");
int main()
{
int n, g;
f>>n>>g;
for (int i=1; i<=n; i++){
f>>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]];
}
}
}
gout<<sol;
return 0;
}