Cod sursa(job #2719468)
| Utilizator | Data | 9 martie 2021 21:32:08 | |
|---|---|---|---|
| Problema | Energii | Scor | 5 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.68 kb |
#include <bits/stdc++.h>
#define nmax 22242423
using namespace std;
int n, k;
int v[5001];
int main()
{
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
int c, e;
cin >> n;
cin >> k;
for(int i = 0; i <= k; i++)
v[i] = nmax;
for(int i = 1; i <= n; i++)
{
cin >> c >> e;
for(int j = k; j >= 1; j--)
{
if(j == c)
{
v[j] = min(e, v[j]);
}
else if(j > c)
{
v[j] = min(v[j-c] +e, v[j]);
}
}
}
if(v[k] == nmax)
cout << -1;
else
cout << v[k];
return 0;
}
