Pagini recente » Cod sursa (job #1830391) | Cod sursa (job #2826737) | Cod sursa (job #1145032) | Cod sursa (job #881044) | Cod sursa (job #327648)
Cod sursa(job #327648)
#include<stdio.h>
using namespace std;
struct generator
{
double energie;
double cost;
double ef;
};
double g,w;
double cmin;
generator v[1002];
int main()
{
int i,gasit;
double aux;
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%lf%lf",&g,&w);
for(i=1;i<=g;i++)
{
scanf("%lf%lf",&v[i].energie,&v[i].cost);
v[i].ef=v[i].cost/v[i].energie;
}
do
{
gasit=0;
for(i=1;i<=g-1;i++)
{
if(v[i].ef>v[i+1].ef)
{
aux=v[i].ef;v[i].ef=v[i+1].ef;v[i+1].ef=aux;
aux=v[i].cost;v[i].cost=v[i+1].cost;v[i+1].cost=aux;
aux=v[i].energie;v[i].energie=v[i+1].energie;v[i+1].energie=aux;
gasit=1;
}
}
}
while(gasit);
i=1;
while( (w>0) && (i<=g) )
{
cmin+=v[i].cost;
w-=v[i].cost;
i=i+1;
}
if(w>0)printf("-1");
else printf("%d",(int)cmin);
return 0;
}