Cod sursa(job #134413)

Utilizator ConsstantinTabacu Raul Consstantin Data 11 februarie 2008 17:51:37
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream.h>
struct sir{int e,p;
	float r;};
int w,g1,i,s,j,k,l,m,n,min;
sir x[1002],aux;

int main(){
ifstream f("energii.in");
ofstream g("energii.out");
f>>g1>>w;
min=32000;j=1;
for(i=1;i<=g1;i++)
	{f>>k>>l;
	if((k>=w)&&(l<min))
		min=l;
	else
	if(k<w)
	{x[j].e=k;
	x[j].p=l;
	x[j].r=float(k/l);
	j++;}
	}
k=j-1;
for(i=1;i<k;i++)
for(j=i+1;j<=k;j++)
	{if(x[i].r>x[j].r)
		{aux=x[i];
		x[i]=x[j];
		x[j]=aux;
		}}
i=1;
while((s<w)&&(i<=k))
	{s+=x[i].e;
	n+=x[i].p;
	i++;
	}


if((i==k)&&(min==32000)&&(s<w))
	g<<-1;
else
if((n<min)&&(s>w))
	min=n;
g<<min;
f.close();
g.close();
return 0;
}