Pagini recente » Cod sursa (job #1012083) | Cod sursa (job #1624237) | Cod sursa (job #2718650) | Cod sursa (job #1345207) | Cod sursa (job #2734430)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
const int gmax = 1e3 + 1;
const int inf = 1e9;
int g, w, eg[gmax], cg[gmax], dp[gmax][5 * gmax];
void read(){
fin >> g >> w;
for(int i = 1; i <= g; i++)
fin >> eg[i] >> cg[i];
}
void init(){
for(int i = 0; i <= w; i++)
dp[0][i] = inf;
}
void solve(){
for(int i = 1; i <= g; i++)
for(int j = 1; j <= w; j++){
if(j <= eg[i])
dp[i][j] = min(dp[i - 1][j], cg[i]);
else
dp[i][j] = min(dp[i - 1][j], dp[i - 1][j - eg[i]] + cg[i]);
}
if(dp[g][w] >= inf)
fout << -1;
else
fout << dp[g][w];
}
int main()
{
read();
init();
solve();
return 0;
}