Cod sursa(job #431610)

Utilizator undogSavu Victor Gabriel undog Data 1 aprilie 2010 10:59:42
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>

using namespace std;

struct generator{
	int c,e;
};

int s[16000000];

int main(){

	ifstream in("energii.in");
	ofstream out("energii.out");

	int n,e;
	generator g[1005];
	
	int i,j;
	
	in>>n>>e;
	
	for(i=1;i<16000;i++){
		s[i]=99999999;
	}
	
	for(i=1;i<=n;i++)
		in>>g[i].e>>g[i].c;
	
	for(i=1;i<=n;i++)
		for(j=e;j>=0;j--){
			if(g[i].c+s[j]<s[j+g[i].e])
				s[j+g[i].e]=g[i].c+s[j];
			if(j+g[i].e>=e&&s[j+g[i].e]<s[e])
				s[e]=s[j+g[i].e];
		}
	
	if(s[e]<99999999)
		out<<s[e];
	else
		out<<"-1";

	return 0;
}