Cod sursa(job #16414)
Utilizator | Nae Mihai a7893 | Data | 12 februarie 2007 23:09:59 |
---|---|---|---|
Problema | Energii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.47 kb |
#include<stdio.h>
int g,w,c[20000][20000],i,j;
struct energie{
int e,pr;
}a[20000];
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&g,&w);
for(i=1;i<=g;i++)
scanf("%d%d",&a[i].e,&a[i].pr);
for(i=1;i<=g;i++)
for(j=1;j<=w;j++)
if(a[i].e<=j)
if(a[i].pr+c[i-1][j-a[i].e]>c[i-1][j])
c[i][j]=a[i].pr+c[i-1][j-a[i].e];
else
c[i][j]=c[i-1][j];
i=g;j=w;
printf("%d\n",c[i][j]);
return 0;
}