Pagini recente » Cod sursa (job #1903989) | Cod sursa (job #881432) | Cod sursa (job #2380930) | Cod sursa (job #1266046) | Cod sursa (job #1748772)
#include <iostream>
#include <fstream>
#include <limits.h>
#define NMAX 1010
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int a[NMAX][NMAX] = {0};
int e[NMAX],c[NMAX];
int emin,n;
// unsolved
int main()
{
f >> n >> emin;
for(int i=1; i<=n; i++)
{
f >> e[i] >> c[i];
a[0][i]=0;
}
for(int i=0;i<=n;i++)
for(int j=1;j<=emin;j++)
a[i][j] = 10000000;
for(int i=1;i<=n;i++){
for(int 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;
}