Pagini recente » Cod sursa (job #1363379) | Cod sursa (job #1586774) | Cod sursa (job #3227589) | Cod sursa (job #3272092) | Cod sursa (job #2257445)
#include <iostream>
#include <fstream>
using namespace std;
struct energie
{
float E,C;
float R;
}v[1002];
int main()
{
ifstream fin("prim.in");
ofstream fout("prim.out");
float G,W,i,aux,cost=0;
float ok;
fin>>G>>W;
for(i=1;i<=G;i++)
{
fin>>v[i].E>>v[i].C;
v[i].R=float(v[i].C/v[i].E);
}
for(i=1;i<=G-1;i++)
{for(j=i+1;j<=G;j++)
if(v[i].R<v[j].R;
{
aux=v[i].C;
v[i].C=v[j].C;
v[j].C=aux;
aux=v[i].E;
v[i].E=v[j].E;
v[j].E=aux;
ok=v[i].R;
v[i].R=v[j].R;
v[j].R=ok;
}
}
for(i=1;i<=G;i++)
{
if(W-v[i].E>=0)
{
cost=cost+v[i].C;
W=W-v[i].E;
}
if(W-v[i]<0)
{
cost=cost+W*v[i].R;
W=0;
}
if(W==0)
{
fout<<cost;
return 0;
}
}
fout<<-1;
fin.close();
fout.close();
return 0;
}