Cod sursa(job #1734650)

Utilizator pas.andreiPopovici Andrei-Sorin pas.andrei Data 27 iulie 2016 21:49:29
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <fstream>
#include <algorithm>
#include <cstring>
#define INF 0x3f3f3f3f
#define NMAX 5005

using namespace std;

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

int dp[NMAX];

int main() {
	int n,i,j,w,c,e;

	fin>>n>>w;

	memset(dp,INF,sizeof(dp));
	dp[0]=0;
	for(i=0;i<n;++i) {
		fin>>e>>c;
		for(j=w;j>=0;--j) {
			if(j<=e) dp[j]=min(dp[j],c);
			else dp[j]=min(dp[j],dp[j-e]+c);
		}
	}

	fout<<((dp[w]==INF)?-1:dp[w]);

	return 0;
}