Cod sursa(job #305616)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 17 aprilie 2009 22:16:08
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<iostream>
#include<stdio.h>
#include<vector>
#include<algorithm>
#define MAX 1005*5005
using namespace std;
int g,w,i,j,cant,cost,MIN=MAX;
vector <int> sol;
int main()
{
	freopen("energii.in","r",stdin);
	freopen("energii.out","w",stdout);
	scanf("%d%d",&g,&w);
	sol.resize(w+10001,MAX);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]);
	}
	MIN=*min_element(sol.begin()+w-1,sol.end());
	MIN=MIN==MAX?-1:MIN;
	printf("%d\n",MIN);
	return 0;
}