Cod sursa(job #1336096)

Utilizator valentin50517Vozian Valentin valentin50517 Data 6 februarie 2015 17:12:14
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>
#include <algorithm>
using namespace std;

int G,W,E[1003],C[1003],DP[2][10010];
bool u = true;
ifstream fin("energii.in");
ofstream fout("energii.out");

int energii(){
	fin >> G >> W;
	for(int i = 1; i<=G;i++){
 		fin >> E[i] >> C[i];
	}
	for(int i = 1;i<=G;i++){
		for(int j = 1;j<=W;j++)
			if(E[i] >= j){
				DP[u][j] = min(DP[!u][j-E[i]] + C[i],DP[!u][j] + C[i]);
			}else DP[u][j] = DP[!u][j];
		u = !u;
	}
	return DP[!u][W];
}

int main(){
   energii();
   if(DP[!u][W] >= W) fout << DP[!u][W]; else fout << -1;		 
	return 0;
}