Cod sursa(job #334322)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 26 iulie 2009 10:54:48
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>
#define N 1024
#define P 6000
#define inf 1000000000
struct generator
{
	int a,b;
};
generator v[N];
int g,w,cost[P];
void read()
{
	scanf("%d%d",&g,&w);
	int i;
	for (i=1; i<=g; i++)
		scanf("%d%d",&v[i].a,&v[i].b);
}
void solve()
{
	int i,j,t;
	for (i=1; i<=w; i++)
		cost[i]=inf;
	for (i=1; i<=g; i++)
	{
		for (j=w-1; j>=0; j--)
		{
			t=j+v[i].a;
			if (t>w)
				t=w;
			if (cost[j]+v[i].b<cost[t])
				cost[t]=cost[j]+v[i].b;
		}
	}
	if (cost[w]!=inf)
		printf("%d\n",cost[w]);
	else
		printf("-1\n");
}
int main()
{
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	read();
	solve();
	return 0;
}