Cod sursa(job #2642206)

Utilizator Gliumarin negai Gliu Data 14 august 2020 00:10:06
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
//#include <iostream>
#include <fstream>

using namespace std;

ifstream cin("energii.in");
ofstream cout("energii.out");

const int NMAX=10005;
const int oo=1<<30;
int g,w,c[NMAX],e[NMAX],a[NMAX][NMAX],l=oo;
int main() {
	cin >>g>>w;
	for(int i=1; i<=g; i++) {
		cin >>e[i]>>c[i];
	}
	for(int i=1; i<=g; i++) {
		for(int j=1; j<=w; j++) {
			a[i][j]=oo;
		}
	}
	a[1][e[1]]=c[1];
	for(int i=2; i<=g; i++) {
		for(int j=1; j<=w; j++) {
			a[i][j]=a[i-1][j];
			if(e[i]<=j) {
				a[i][j]=min(a[i][j],c[i]+a[i-1][j-e[i]]);
			} else a[i][j]=min(a[i][j],c[i]);
			//cout <<a[i][j]<<" ";
		
		}
		//cout <<"\n";
	}
	if(a[g][w] !=oo)cout <<a[g][w];
	else cout <<-1;

	return 0;
}