Pagini recente » Cod sursa (job #1974111) | Cod sursa (job #3218594) | Cod sursa (job #982773) | Cod sursa (job #1947626) | Cod sursa (job #550296)
Cod sursa(job #550296)
//
#include<stdio.h>
using namespace std;
FILE *f=fopen("energii.in","r"), *g=fopen("energii.out","w");
long ss,s,i,n,inj,sw,sss,gg,w;
struct {long a, b; float r;} v[1003],aux;
void read()
{
fscanf(f,"%ld" ,&gg);
fscanf(f,"%ld", &w);
for(i=1;i<=gg;i++)
{
fscanf(f,"%ld %ld", &v[i].a, &v[i].b);
v[i].r=(float)v[i].a/v[i].b;
}
}
void shell()
{
do{
sw=0;
for(i=1;i<gg;i++)
if(v[i].r<v[i+1].r)
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
sw++;
}
}while(sw!=0);
}
void find()
{
i=1;
s=0;
while(w>0 && i<=gg)
{
w=w-v[i].a;
s=s+v[i].b;
i++;
}
if(w>0)
s=-1;
}
int main()
{
read();
shell();
find();
fprintf(g,"%ld",s);
fclose(f);
fclose(g);
return 0;
}