Pagini recente » Cod sursa (job #1584193) | Cod sursa (job #2583793) | Cod sursa (job #35998) | Cod sursa (job #957410) | Cod sursa (job #1866071)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,g,w[5100],p[5100],i,j,D[2][10100];
int main(){
ifstream cin ("rucsac.in");
ofstream cout ("rucsac.out");
cin>>n>>g;
for (i=1; i<=n; i++) cin>>w[i]>>p[i];
int q=0;
for (i=1; i<=n; i++){
for (j=0; j<=g; j++){
D[1-q][j]=D[q][j];
if (j>=w[i]) D[1-q][j]=max(D[1-q][j],(D[q][j-w[i]]+p[i]));
}
q=1-q;
}
cout<<D[q][g];
return 0;
}