Pagini recente » Cod sursa (job #3239723) | Cod sursa (job #863127) | Cod sursa (job #2976610) | Cod sursa (job #1863110) | Cod sursa (job #2955776)
#include<fstream>
std::ifstream cin("energii.in");
std::ofstream cout("energii.out");
using namespace std;
int weight[10001];
int n, w;
pair<int, int>elements[5001];
int main() {
cin >> n >> w;
for (int i = 0; i <= w; i++) weight[i] = 0x3F3F3F3F;
for (int i = 1; i <= n; i++) cin >> elements[i].second >> elements[i].first;
weight[0] = 0;
for (int i = 1; i <= n; i++)
for (int W = w; W >= 0; W--)
if (elements[i].second >= W) weight[W] = min(weight[W], elements[i].first);
else weight[W] = min(weight[W - elements[i].second] + elements[i].first, weight[W]);
if (weight[w] == 0x3F3F3F3F) weight[w] = -1;
cout << weight[w];
return 0;
}