Cod sursa(job #325959)
| Utilizator | Data | 23 iunie 2009 08:47:14 | |
|---|---|---|---|
| Problema | Energii | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <stdio.h>
FILE *f,*s;
int g,w,x,y,i,j,sum,max,v[1000000];
int main()
{
f=fopen("energii.in","r");
s=fopen("energii.out","w");
fscanf(f,"%d\n%d\n",&g,&w);
for(i=1;i<=g;i++)
{
fscanf(f,"%d %d\n",&x,&y);
v[x]+=y;
sum+=x;
for(j=1;j<=sum;j++)
{
if(v[j]>0)
v[j+x]+=y;
}
}
if(sum<w)
fprintf(s,"-1\n");
else
{
for(i=w;i<=sum;i++)
{
if(v[i]!=0)
{
fprintf(s,"%d\n",v[i]);
break;
}
}
}
fclose(s);
return 0;
} 