Pagini recente » Cod sursa (job #1626566) | Cod sursa (job #112764) | Cod sursa (job #2692840) | Cod sursa (job #1047583) | Cod sursa (job #1775114)
#include <bits/stdc++.h>
using namespace std;
int r[5002];
int main() {
FILE *fin = fopen("energii.in", "r");
FILE *fout = fopen("energii.out", "w");
int n, k, maxi, s = 0, x, c;
fscanf(fin,"%d %d", &n, &k);
r[0] = 1; maxi = INT_MAX;
for (int i = 1; i <= n; ++i)
{
fscanf(fin,"%d %d", &x, &c);
for (int j = s; j >= 0; j--)
if (r[j] != 0) {
if (j + x >= k) {
if (r[j] + c < maxi)
maxi = r[j] + c;
}
else if (r[j] + c < r[j + x] || r[j + x] == 0)
r[j + x] = r[j] + c;
}
s += x;
if (s > k - 1)
s = k - 1;
}
if (maxi == INT_MAX)
maxi = 0;
fprintf(fout,"%d\n", maxi - 1);
return 0;
}