Cod sursa(job #305614)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 17 aprilie 2009 21:59:23
Problema Energii Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<iostream>
#include<stdio.h>
#include<vector>
#define MAX 1001*5001
using namespace std;
int g,w,i,j,cant,cost,MIN=MAX;
vector <int> sol(5002,9999999);
int main()
{
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	scanf("%d%d",&g,&w);sol[0]=0;
	for(i=0;i<g;i++)
	{
		scanf("%d%d",&cant,&cost);
		for(j=w;j>=0;j--)
			if(sol[j]!=MAX)
				sol[j+cant]=min(sol[j]+cost,sol[j+cant]);
	}
	for(i=w;i<5002;i++)
		MIN=min(MIN,sol[i]);
	MIN=MIN==MAX?-1:MIN;
	printf("%d\n",MIN);
	return 0;
}