Cod sursa(job #548494)

Utilizator andreas_mihAndreas Mihaloianis andreas_mih Data 7 martie 2011 14:55:00
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include<stdio.h>
using namespace std;
FILE*in=fopen("energii.in","r");
FILE*out=fopen("energii.out","w");
long double a,b,s,m;
int i,j,g,w;
long double e;
typedef struct generator
{
    int a; //cant
    int b;//pret
    long double e;
};
generator v[1003];
int main()
{
    fscanf(in,"%d%d",&g,&w);
    for(i=0;i<g;i++)
            {
            fscanf(in,"%d%d",&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;
}