This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define SZ(v) ((int)(v).size())
using ll = long long;
const int MAXN = 5001;
ll dp[MAXN][MAXN];
int main(void)
{
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int nb_personnes, nb_allumetes;
cin >> nb_personnes >> nb_allumetes;
vector<int> arrivees(nb_personnes);
for (auto &v : arrivees)
cin >> v;
arrivees.push_back(arrivees.back()+1);
for (int k(0); k <= nb_allumetes; ++k)
dp[nb_personnes][k] = 0;
for (int id_per(nb_personnes-1); id_per >= 0; --id_per)
{
dp[id_per][0] = (ll)1e18;
for (int nb_allu(1); nb_allu <= nb_allumetes; ++nb_allu)
dp[id_per][nb_allu] = min(arrivees[id_per+1] - arrivees[id_per] + dp[id_per+1][nb_allu],
(nb_allu ? 1 + dp[id_per+1][nb_allu-1] : (ll)1e18));
}
cout << dp[0][nb_allumetes] << endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |