Cod sursa(job #303368)

Utilizator Bit_MasterAlexandru-Iancu Caragicu Bit_Master Data 9 aprilie 2009 19:56:33
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
#define E 1002
#define K 5002

int n,k,e[E],c[K],v[K];

void citire()
{
	scanf ("%d",&n);
	scanf ("%d",&k);
	for (int i = 1; i <= n; ++i)
		scanf ("%d%d",&e[i],&c[i]);
}

void cautare()
{
	for (int i = 1; i <= n; ++i)
	{
		for (int j = k; j >= 1; --j)
			if (v [j] != 0 && v [j] + c [i] < c [j + e [i]])
				c [j + e [i]] = v [j] + c [i];
		if (c [i] < v [e [i]])
			v [e [i]] = c [i];
	}
	printf ("%d",v [k]);
}

void initializare()
{
	for (int i = 0; i <= k; ++i)
		v [i] = 1000000;
}

int main()
{
	freopen ("energii.in","r",stdin);
	freopen ("energii.out","w",stdout);
	citire();
	initializare();
	cautare();
	return 0;
}