Cod sursa(job #869992)
| Utilizator | Data | 2 februarie 2013 18:00:54 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include<fstream>
using namespace std;
long i,j,n,g,s,s1;
struct en
{
long e,c;
};
int main()
{en v[100],aux;
ifstream fer("energii.in");
ofstream ger("energii.out");
fer>>n>>g;
for(i=1;i<=n;i++)
{fer>>v[i].e>>v[i].c; s1=s1+v[i].e;}
for(i=1;i<n;i++)
for(j=i;j<=n;j++)
if((float)v[i].e/v[i].c<(float)v[j].e/v[j].c)
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
}
for(i=1;i<=n;i++)
{if(v[i].e<=g)
{s=s+v[i].c;
g=g-v[i].e;
}}
if(s1>=g) ger<<s;
else ger<<-1;
}
