Cod sursa(job #132351)

Utilizator ConsstantinTabacu Raul Consstantin Data 5 februarie 2008 17:54:08
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream.h>
int x[102][3],a[101],i,j,k,l,m,n,w,g1,min,s,min1;
int main()
{ifstream f("energii.in");
ofstream g("energii.out");
f>>g1>>w;
min=32000;
for(i=1;i<=g1;i++)
	{f>>x[i][1]>>x[i][2];
	if((x[i][1]>=w)&&(x[i][2]<min))
		{min=x[i][2];}}
for(i=1;i<g1;i++)
for(j=i;j<=g1;j++)
	if(x[i][1]>x[j][1])
		{k=x[i][1];
		x[i][1]=x[j][1];
		x[j][1]=k;
		k=x[i][2];
		x[i][2]=x[j][2];
		x[j][2]=k;
		}
m=2;
a[1]=1;
a[2]=1;
while(x[m][1]<w)
	{s=0;min1=0;
	for(i=1;i<=m;i++)
		{
		if(a[i]>1)
			{a[i+1]++;a[i]=0;
			if(i>m-1)
				m++;}
		if(a[i]!=0)
		{s+=x[i][1];min1+=x[i][2];}
		}
	if((s>w)&&(min1<min))
		min=min1;
	a[1]++;
	}
g<<min;
f.close();
g.close();
return 0;
}