Cod sursa(job #2124985)

Utilizator prisacalexandruPrisac Alexandru prisacalexandru Data 7 februarie 2018 19:41:21
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include<bits/stdc++.h>

using namespace std;

int g,w;
int e[1100],c[1100],d[1100][5100];


int main(){
	ifstream cin("energii.in");
	ofstream cout("energii.out");
	cin>>g>>w;
	for(int i=1;i<=g;i++){
		cin>>e[i]>>c[i];
	}
	int l=0;
	for(int i=1;i<=g;++i,l=1-l)
		for(int j=0;j<=w;j++){
			d[1-l][j]=d[l][j];
			if(e[i]<=j) 
			 d[1-l][j]=max(d[1-l][j],d[l][j-e[i]]+c[i]);	
		}
	if(d[l][w]>=w) cout<<d[l][w]; else cout<<"-1";
	return 0;
}