Pagini recente » Cod sursa (job #1504316) | Cod sursa (job #1502243) | Cod sursa (job #1915466) | Cod sursa (job #2284453) | Cod sursa (job #3314200)
#include <bits/stdc++.h>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n, G, dp[20005], mi = INT_MAX;
struct date {
int w, p;
} a[10005];
int main()
{
f >> n >> G;
for (int i=1; i<=n; ++i)
f >> a[i].w >> a[i].p;
for (int i=1; i<=20000; ++i)
dp[i] = INT_MAX;
dp[0] = 0;
for (int i=1; i<=n; ++i)
for (int j=G; j>=0; --j)
if (dp[j] != INT_MAX) {
dp[ j+a[i].w ] = min (dp[ j+a[i].w ], dp[j] + a[i].p);
if (j+a[i].w >= G && dp[ j+a[i].w ] < mi)
mi = dp[ j+a[i].w ];
}
if (mi == INT_MAX)
g << -1;
else g << mi;
return 0;
}