Cod sursa(job #942373)
Utilizator | Beteag Ion Andrei HotSteel | Data | 22 aprilie 2013 10:16:39 |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.62 kb |
#include <cstdio>
using namespace std;
int g1[10010];
int g2[10010];
void vcpy(int v1[],int v2[],int n)
{
int i;
for(i=1;i<=n;++i)
{
v1[i]=v2[i];
v2[i]=0;
}
}
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
int n,g;
int w,p;
scanf("%d%d",&n,&g);
int i,j;
int a1,a2;
for(i=1;i<=n;++i)
{
scanf("%d%d",&w,&p);
for(j=1;j<=g;++j)
{
if(w<=j)
a1=g1[j-w]+p;
else
a1=0;
a2=g1[j];
g2[j]=a2 > a1 ? a2 : a1;
}
vcpy(g1,g2,g);
}
printf("%d",g1[g]);
return 0;
}