Pagini recente » Cod sursa (job #1567247) | Cod sursa (job #2120147) | Cod sursa (job #822092) | Monitorul de evaluare | Cod sursa (job #200914)
Cod sursa(job #200914)
#include<fstream.h>
ifstream fin("energii.in");
ofstream fout("energii.out");
unsigned long cost;
int g,w;
struct c
{
int eg,ec;
float m;
}v[1002],aux;
void citire()
{
int i;
fin>>g>>w;
for(i=0;i<g;i++)
{
fin>>v[i].eg>>v[i].ec;
v[i].m=(float)v[i].eg/v[i].ec;
}
}
int cauta_max()
{
int sv,i;
float max;
max=v[0].m;sv=0;
for(i=1;i<g;i++)
if(max<v[i].m)
{
max=v[i].m;
sv=i;
}
v[sv].m=0;
return sv;
}
int main()
{
citire();
int i=0,z;
while(w>0 && i<g)
{
i++;
z=cauta_max();
w-=v[z].eg;
cost+=v[z].ec;
}
if(w<=0)
fout<<cost<<'\n';
else fout<<"-1\n";
fout.close();
return 0;
}