Pagini recente » Cod sursa (job #620560) | Cod sursa (job #3234484) | Cod sursa (job #1184008) | Cod sursa (job #2499284) | Cod sursa (job #2449422)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int g, w, e, c, dp[2][5001], L;
int main()
{
fin >> g >> w;
L = 1;
for(int i = 1; i <= 5001; ++i)
dp[0][i] = 2e9;
for(int i = 1; i <= g; ++i, L = 1 - L)
{
fin >> e >> c;
for(int j = 0; j <= w; ++j)
{
dp[L][j] = dp[1 - L][j];
if(j >= e)
dp[L][j] = min(dp[L][j], dp[1 - L][j - e] + c);
}
}
L = 1 - L;
int sol = 1e9;
for(int i = w; i <= 5001; ++i)
{
if(dp[L][i] < sol)
{
sol = dp[L][i];
break;
}
}
if(sol == 1e9)
fout << -1 << "\n";
else
fout << sol;
return 0;
}