Cod sursa(job #431606)

Utilizator undogSavu Victor Gabriel undog Data 1 aprilie 2010 10:54:37
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>

using namespace std;

struct generator{
	int c,e;
};

int main(){

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

	int n,e;
	generator g[1005];
	int s[16000];
	int i,j;
	
	in>>n>>e;
	
	for(i=0;i<16000;i++){
		s[i]=99999999;
	}
	
	for(i=0;i<n;i++)
		in>>g[i].e>>g[i].c;
	
	for(i=0;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;
}