Pagini recente » Cod sursa (job #2044544) | Cod sursa (job #2497843) | Cod sursa (job #2028039) | Cod sursa (job #2440532) | Cod sursa (job #2137146)
#include<fstream>
using namespace std;
ifstream f ("rucsac.in");
ofstream g ("rucsac.out");
int n,G,d[2][10010];
int gr[5010],p[5010];
int main()
{
f>>n>>G;
for(int i=1;i<=n;++i){
f>>gr[i]>>p[i];
}
for(int i=1;i<=n;++i){
if(i%2)
for(int j=0;j<=G;++j){
d[1][j]=d[0][j];
if(gr[i]<=j) d[1][j]=max(d[1][j],d[0][j-gr[i]]+p[i]);
}
else
for(int j=0;j<=G;++j){
d[0][j]=d[1][j];
if(gr[i]<=j) d[0][j]=max(d[0][j],d[1][j-gr[i]]+p[i]);
}
}
g<<max(d[0][G],d[1][G]);
}