Pagini recente » Cod sursa (job #3238844) | Cod sursa (job #1734198) | Cod sursa (job #2132901) | Cod sursa (job #1945430) | Cod sursa (job #548502)
Cod sursa(job #548502)
#include<stdio.h>
using namespace std;
FILE*in=fopen("energii.in","r");
FILE*out=fopen("energii.out","w");
int i,j,g;
long double b,a,s,m,w;
long double e;
typedef struct generator
{
long double a; //cant
long double b; //pret
long double e;
};
generator v[1003];
int main()
{
fscanf(in,"%ld%d",&g,&w);
for(i=0;i<g;i++)
{
fscanf(in,"%ld%ld",&v[i].a,&v[i].b);
v[i].e=(long double)v[i].a/v[i].b;
}
for(i=0;i<g-1;i++)
for(j=i+1;j<g;j++)
if(v[i].e<v[j].e)
{
v[1003]=v[i];
v[i]=v[j];
v[j]=v[1003];
}
i=0;
while(w>0 && i<g)
{
w=w-v[i].a;
s=s+v[i].b;
i++;
}
if(w<=0)
fprintf(out,"%d",s);
else
fprintf(out,"-1");
fclose(in);
fclose(out);
return 0;
}