Cod sursa(job #139811)
| Utilizator | Data | 20 februarie 2008 18:32:08 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.41 kb |
#include<stdio.h>
FILE *f=fopen("energii.in","r"),*q=fopen("energii.out","w");
int g,w,c,cost,s;
struct energ
{int x,y;} a[5000];
int main()
{fscanf(f,"%d %d",&g,&w);int i,j;
for(i=1;i<g;i++)
for(j=i+1;j<=g;j++)
if(a[i].x/a[i].y<a[j].x/a[j].y)
{a[0]=a[i];
a[i]=a[j];
a[j]=a[0];}
for(i=1;s<=w;i++)
{s+=a[i].x;
cost+=a[i].y;
}
if(s<=w)fprintf(q,"-1");
else
fprintf(q,"%d",cost);
return 0;
}