Cod sursa(job #2050251)

Utilizator Cristi_ChiraChira Cristian Cristi_Chira Data 28 octombrie 2017 01:44:07
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>
#define inf8 0x3f3f3f3f
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int dp[10005], e, p, G, W;
int main() {
	///dp[0] = 0;
	fin >> G >> W;
	for(int i = 1; i <= 10001; i++ )
		dp[i] = inf8;
	for(int i = 1; i <= G; i++)
	{
		fin >> e >> p;
		for(int j = W; j >= 1; j--)
		{
		     if(j < e)
			dp[j] = min(dp[j], p);
			else if(dp[j - e] != inf8)
				dp[j] = min(dp[j + 1], min(dp[j], dp[j-e]+p));
		}
		
		//cout << dp[W] << " ";
	}
//	cout << "\n";
	if(dp[W] != inf8)
		fout << dp[W];
		else fout << "-1";
	return 0;
}