Cod sursa(job #629304)

Utilizator stefisuciuStefan Suciu stefisuciu Data 3 noiembrie 2011 09:39:03
Problema Energii Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <string>
#include <fstream>
using namespace std;
 
ifstream fin("energii.in");
ofstream fout("energii.out");
 
const int maxn=1005, maxw=5005, INF=2000000000;
int i,j,N,W;
int E[maxn],C[maxn];
int D[maxn][maxw];
 
int main() {
    fin>>N>>W;
	for (int i=1; i<=N; i++) fin>>E[i]>>C[i];
	
	for (int i=0; i<=N; i++)
		for (int j=1; j<=W; j++) D[i][j]=INF;
	
	for (int i=1; i<=N; i++)
		for (int j=1; j<=W; j++)
			//if (E[i]<=j)
				D[i][j]=min(D[i-1][j], D[i-1][j-E[i]] + C[i]);
	
	if(D[N][W]==INF) fout << -1;
    else fout << D[N][W];
}