Pagini recente » Cod sursa (job #1495277) | Cod sursa (job #740299) | Cod sursa (job #509778) | Cod sursa (job #1903010) | Cod sursa (job #1815463)
#include <iostream>
#include <fstream>
#define inf 1e9
using namespace std;
ifstream fin ("energii.in");
ofstream fout ("energii.out");
int G , W;
int sol[5005];
int quan[1005] , cost[1005];
void read()
{
//cin >> G >> W;
fin >> G >> W;
for(int i = 1 ; i <= G ; ++i)
//cin >> quan[i] >> cost[i];
fin >> quan[i] >> cost[i];
}
int main() {
read();
for(int i = 1 ; i <= W ; ++i) sol[i] = inf;
sol[0] = 0;
for(int i = 1 ; i <= G ; ++i)
for(int j = W ; j >= 0 ; --j)
if(sol[j] != inf){
if(j + quan[i] <= W)
sol[j + quan[i]] = min(sol[j + quan[i]] , sol[j] + cost[i]);
else
sol[W] = min(sol[W] , sol[j] + cost[i]);
}
if(sol[W] == inf)
//cout << -1;
fout << -1;
else
//cout << sol[W];
fout << sol[w];
return 0;
}