Cod sursa(job #2217550)

Utilizator mihai50000Mihai-Cristian Popescu mihai50000 Data 30 iunie 2018 20:32:09
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

//ifstream f("/home/mihai/Documents/c++/A/A.in");
//ofstream g("/home/mihai/Documents/c++/A/A.out");

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

const int NMAX = 5017;

int v[NMAX];

int main()
{
	int n, W;
	f >> n;
	f >> W;
	for(int i = 1; i <= W; i++)
		v[i] = -1;
	for(int i = 1; i <= n; i++)
	{
		int e, c;
		f >> e >> c;
		for(int j = W; j >= 0; j--)
		{
			if(v[j] > -1)
				if(j + e <= W)
				{
					if(v[j + e] == -1 || v[j + e] > c + v[j])
						v[j + e] = c + v[j];
				}
				else
					if(v[W] > c + v[j] || v[W] == -1)
						v[W] = c + v[j];
		}
	}
	g << v[W];
}