Pagini recente » Cod sursa (job #1740987) | Cod sursa (job #3189541) | Cod sursa (job #2745455) | Cod sursa (job #2523311) | Cod sursa (job #1753637)
#include <iostream>
#include <fstream>
#include <cstring>
#define NMAX 1005
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int a[NMAX][NMAX] ;
int e[NMAX],c[NMAX];
int emin,n;
int i,j,w;
// unsolved
int main()
{
f >> n >> emin;
for(i=1; i<=n; i++)
{
f >> e[i] >> c[i];
}
for(i=0;i<=n;++i)
for(j=1;j<=emin;++j)
a[i][j] = 10000000;
for( i=1;i<=n;i++){
for(w=1;w<=emin;w++){
a[i][w] = a[i-1][w];
if(w >= e[i]) a[i][w] = min(a[i][w],a[i-1][w-e[i]] + c[i]);
else if(w <= e[i]) a[i][w] = min(a[i][w],c[i]);
}
}
if(a[n][emin] == 10000000) g << -1;
else g << a[n][emin];
return 0;
}