Cod sursa(job #3320209)
| Utilizator | Data | 4 noiembrie 2025 16:09:30 | |
|---|---|---|---|
| Problema | Energii | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.66 kb |
#include <bits/stdc++.h>
using namespace std;
int d[20555];
int main() {
ifstream cin("energii.in");
ofstream cout("energii.out");
int n, k;
cin >> n >> k;
for(int i = 1; i <= 20000; ++i)
d[i] = INT_MAX;
int mn = INT_MAX;
for(int i = 1; i <= n; ++i) {
int a, b;
cin >> a >> b;
for(int j = k + a; j >= a; --j) {
if(d[j - a] != INT_MAX && d[j - a] + b < d[j]) {
d[j] = d[j - a] + b;
if(j >= k && d[j] < mn)
mn = d[j];
}
}
}
if(mn == INT_MAX) mn = -1;
cout << mn;
return 0;
}
