Pagini recente » Cod sursa (job #1950450) | Cod sursa (job #504962) | Cod sursa (job #2594016) | Cod sursa (job #2173623) | Cod sursa (job #2761227)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = int(1e7);
int n, w;
struct elem {
int e, c;
} v[1003];
int dp[5003];
int main() {
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d %d", &n, &w);
for (int i = 1; i <= n; i++) {
scanf("%d %d", &v[i].e, &v[i].c);
}
for (int i = 1; i <= w; i++)
dp[i] = NMAX;
for (int i = 1; i <= n; i++) {
for (int j = w; j >= 1; j--) {
if (v[i].e > j)
dp[j] = min(dp[j], v[i].c);
else
dp[j] = min(dp[j], dp[j - v[i].e] + v[i].c);
}
}
if(dp[w] == NMAX )printf("-1 ");
else printf("%d ",dp[w]);
return 0;
}