Cod sursa(job #226558)

Utilizator c_e_manuEmanuel Cinca c_e_manu Data 1 decembrie 2008 22:18:32
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream.h>

const long inf=2000000000;
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]=inf;
	for(i=1;i<=n;i++)
		for(j=w-1;j>=0;j--)
			if(v[j]!=inf)
			{	if(j+a[i].e>=w&&v[j]+a[i].c<v[w])
					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;
			}
	if(v[w]==inf)
	{	fout<<"-1";return 0;}
	fout<<v[w];
	return 0;

}