Pagini recente » Cod sursa (job #2148019) | Cod sursa (job #446512) | Cod sursa (job #1925459) | Cod sursa (job #937050) | Cod sursa (job #1655938)
#include <iostream>
#include <cstdio>
#define MAXW 5050
#define inf 0x3fffffff
using namespace std;
int g, w;
int main()
{
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
int din[MAXW];
scanf("%d %d", &g, &w);
for (int i = 1; i <= w+1; i++)
din[i] = inf;
din[0] = 0;
for (int i = 1; i <= g; i++) {
int eg, cg;
scanf("%d %d", &eg, &cg);
int best = inf;
for (int j = w-eg; j <= w; j++)
best = std::min(best, din[j]);
din[w] = std::min(din[w], best+cg);
for (int j = w-eg-1; j >= 0; j--)
din[j+eg] = std::min(din[j+eg], din[j]+cg);
}
printf("%d", din[w]);
return 0;
}