Cod sursa(job #226556)

Utilizator c_e_manuEmanuel Cinca c_e_manu Data 1 decembrie 2008 22:16:21
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<fstream.h>

struct gen{int e,c;};
gen a[1002];
long i,n,j,v[5002],w;
ifstream fin("energii.in");
ofstream fout("energii.out");

int main()
{	fin>>n>>w;
	for(i=1;i<=n;i++)
		fin>>a[i].e>>a[i].c;
	for(i=1;i<=w;i++)
		v[i]=-1;
	for(i=1;i<=n;i++)
		for(j=w-1;j>=0;j--)
			if(v[j]!=-1)
			{	if(j+a[i].e>=w&&((v[j]+a[i].c<v[w]&&v[w]!=-1)||(v[j]+a[i].c>v[w]&&v[w]==-1)))
					v[w]=v[j]+a[i].c;
				if(j+a[i].e<w&&v[j]+a[i].c<v[j+a[i].e])
					v[j+a[i].e]=v[j]+a[i].c;
			}
	fout<<v[w];
	return 0;

}