Pagini recente » Cod sursa (job #2821471) | Cod sursa (job #2694860) | Cod sursa (job #2453633) | Cod sursa (job #593768) | Cod sursa (job #3141909)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
const int WMAX = 5e3, INF = 1e9;
int dp[WMAX+5];
signed main() {
ios_base :: sync_with_stdio(false);
fin.tie(nullptr), fout.tie(nullptr);
int n, w, e, c;
fin>>n>>w;
for (int i = 1; i <= w; i++)
dp[i] = INF;
for (int i = 1; i <= n; i++) {
fin>>e>>c;
for (int j = w-1; j >= 0; j--)
if (dp[j] != INF)
if (j+e < w)
dp[j+e] = min(dp[j+e], dp[j]+c);
else
dp[w] = min(dp[w], dp[j]+c);
}
if (dp[w] == INF)
fout<<-1;
else
fout<<dp[w];
return 0;
}