Pagini recente » Cod sursa (job #1833689) | Cod sursa (job #357577) | Cod sursa (job #2468017) | Cod sursa (job #2418094) | Cod sursa (job #2664215)
#include <cstdio>
#define nMax 5120
#define wMax 10240
using namespace std;
struct elem {
int weight,value;
}v[nMax];
int n,w,sol[wMax];
void read() {
int i;
scanf("%d%d",&n,&w);
for(i=0;i<n;++i) {
scanf("%d%d",&v[i].weight,&v[i].value);
}
}
void solve() {
int i,j;
for(i=0;i<n;++i) {
for(j=w;j>=0;--j) {
if(i) {
if(j>=v[i].weight&&sol[j-v[i].weight]+v[i].value>sol[j]) {
sol[j]=sol[j-v[i].weight]+v[i].value;
}
}
else {
if(j>=v[i].weight) {
sol[j]=v[i].value;
}
}
}
}
}
int main() {
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
read();
solve();
printf("%d",sol[w]);
return 0;
}