Pagini recente » Cod sursa (job #772888) | Cod sursa (job #2948903) | Cod sursa (job #670996) | Cod sursa (job #2124086) | Cod sursa (job #629305)
Cod sursa(job #629305)
#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]);
else
D[i][j]=min(D[i-1][j], C[i]);
if(D[N][W]==INF) fout << -1;
else fout << D[N][W];
}