Cod sursa(job #616199)

Utilizator IoanaMarMarussi Ioana IoanaMar Data 11 octombrie 2011 21:54:46
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("energii.in");
ofstream g("energii.out");
int main()
{
 const int maxn=1005, maxw=5005, INF=2000000000;
int i,j,N,W;
int E[maxn],C[maxn];
int D[maxn][maxw];
int main()
{
f >> N >> W;
for(i=1;i<=N;i++)
f >> E[i] >> C[i];
for(i=0;i<=N;i++)
for(j=1;j<=W;j++)
D[i][j]=INF;
for(i=1;i<=N;i++)
for(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]);
else
D[i][j]=min(D[i-1][j], C[i]);
}
if(D[N][W]==INF) g << -1;
else g << D[N][W];
}
}