Cod sursa(job #557071)

Utilizator tinkyAndrei Ilisei tinky Data 16 martie 2011 14:07:54
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<fstream>
#define mx 999999
using namespace std;
int g[1005],c[1005];
int v[1010][5010];
int n,w,s=0;
int citire()
{
	int i;
	ifstream in("energii.in");
	in>>n>>w;
	for (i=1;i<=n;i++)
	{
		in>>g[i]>>c[i];
		s+=g[i];
	}
	for (i=0;i<=w;i++)
		v[0][i]=mx;
	if (s<w)
		return 1;
	return 0;
}
int main()
{
	int i,j;
	if (citire())
	{
		ofstream out("energii.out");
		out<<"-1\n";
		return 0;
	}
	for (i=1;i<=n;i++)
		for (j=1;j<=w;j++)
		{
			if (j<g[i])
				v[i][j]=min(v[i-1][j],c[i]);			
			else
				v[i][j]=min(v[i-1][j],v[i-1][j-g[i]]+c[i]);
		}
	ofstream out("energii.out");
	out<<v[n][w]<<'\n';;
			
}