Cod sursa(job #947388)
| Utilizator | Data | 7 mai 2013 11:57:28 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <cstdio>
using namespace std;
int n,Max,pmax,r[5000];
int mx(int x,int y)
{
if (x>y) return x;
else return y;
}
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d",&n);
Max=0;
for (i=1;i<=n;i++)
scanf("%d%g",&g[i],&p[i]);
for (i=1;i<=n;i++)
for (j=Max;j>=1;j--)
{if (j!=0) r[j]=mx(r[j+g[i],r[j]+p[g[i]);
if (r[j]>pmax) pmax=r[j];}1
}
return 0;
}
