Pagini recente » Cod sursa (job #816532) | Cod sursa (job #2056389) | Cod sursa (job #2327251) | Cod sursa (job #710759) | Cod sursa (job #2308083)
#include <fstream>
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
struct item {
int g, p;
} a[5001];
int n, g, b[2][10001];
bool e;
int main() {
cin>>n>>g;
for(int i=1; i<=n; i++) {
cin>>a[i].g>>a[i].p;
}
for(int i=1; i<=n; i++, e=!e)
for(int j=0; j<=g; j++)
if(j<a[i].g)
b[!e][j]=b[e][j];
else
b[!e][j]=max(b[e][j], a[i].p+b[e][j-a[i].g]);
cout<<b[e][g];
return 0;
}