Pagini recente » Cod sursa (job #618998) | Cod sursa (job #2447021) | Cod sursa (job #3160981) | Cod sursa (job #527788) | Cod sursa (job #2410698)
#include <iostream>
#include <fstream>
#include <algorithm>
#define Inf 10000001
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int N, W, i, j, Sol[Inf], Sum;
struct Gen{
int energy;
int cost;
};
Gen List[1001];
int main()
{
fin>>N>>W;
for(i=1; i<=N; ++i) {fin>>List[i].energy>>List[i].cost; Sum+=List[i].energy;}
if(Sum<W){fout<<"-1"; return 0;}
for(i=1; i<=Sum; ++i) Sol[i]=Inf;
for(i=1; i<=N; ++i)
for(j=W; j>=0; --j)
Sol[min(W, j+List[i].energy)]=min(Sol[min(W, j+List[i].energy)], Sol[j]+List[i].cost);
fout<<Sol[W];
return 0;
}