Cod sursa(job #868416)

Utilizator tibi9876Marin Tiberiu tibi9876 Data 30 ianuarie 2013 23:34:14
Problema Energii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<fstream>
using namespace std;

int a[1002],c[1002],v[20001],i,j,n,s,mn;

int main()
{
	ifstream f("energii.in");
	ofstream g("energii.out");
	f >> n >> s;
	for (i=1;i<=n;i++)
		f >> a[i] >> c[i];
	v[0]=1;
	mn=1 << 30;
	for (i=1;i<=n;i++)
	{
		for (j=s;j>=0;j--)
			if (v[j]!=0)
			{
				if (v[a[i]+j]==0)
					v[a[i]+j]=v[j]+c[i];
				else v[a[i]+j]=min(v[a[i]+j],v[j]+c[j]);
				if ((a[i]+j>=s) && (v[a[i]+j]<mn))
					mn=v[a[i]+j];
			}
	}
	if (mn==(1 << 30))
		g << -1;
	else g << mn-1;
	return 0;
}