Cod sursa(job #2403528)

Utilizator VadimCCurca Vadim VadimC Data 11 aprilie 2019 17:44:24
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <climits>

using namespace std;

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

const int inf = (1 << 30);

#define For(i, a, b) for(i = (a); i <= (b); i++)

#define EMax 10001

int g, w;
vector<int> ce;

int main(){
	int i;
	int e, c;
	int emax = 0;
	fin >> g >> w;
	ce.resize(w + EMax, inf);
	ce[0] = 0;
	while(g--){
		fin >> e >> c;
		emax = max(emax, e);
		for(i = w + e - 1; i >= e; i--) ce[i] = min(ce[i], ce[i - e] + c);
	}
	
	int rez = inf;
	for(i = w; i < w + emax; i++) rez = min(rez, ce[i]);
	if(rez == inf) fout << -1;
	else fout << rez;
}