Cod sursa(job #305612)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 17 aprilie 2009 21:55:51
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 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);
	for(i=0;i<g;i++)
	{
		scanf("%d%d",&cant,&cost);
		for(j=1;j<=w;j++)
			if(sol[j]!=MAX)
				sol[j+cant]=min(sol[j]+cost,sol[j+cant]);
		sol[cant]=min(cost,sol[cant]);
	}
	for(i=w;i<5002;i++)
		MIN=min(MIN,sol[i]);
	MIN=MIN==MAX?-1:MIN;
	printf("%d\n",MIN);
	return 0;
}