# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
636421 | TUNGDUONGWILLWINVOI2023 | Rabbit Carrot (LMIO19_triusis) | C++14 | 36 ms | 4428 KiB |
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 <algorithm>
#include <array>
#include <bitset>
#include <cassert>
#include <chrono>
#include <cmath>
#include <cstring>
#include <functional>
#include <iomanip>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <vector>
using namespace std;
const int NAXM = 2e5 + 5;
int n, m, a[NAXM];
int main() {
// Coding
scanf("%d%d", &n, &m);
for (int i = 0; i < n; ++i) {
scanf("%d", &a[i]);
}
vector<int> b;
for (int i = 0; i < n; ++i) {
if (m * (i + 1) >= a[i]) {
b.push_back(m * (i + 1) - a[i]);
}
}
vector<int> dp;
int L = int(b.size());
for (int i = 0; i < L; ++i) {
int l = lower_bound(dp.begin(), dp.end(), b[i] + 1) - dp.begin();
if (l < int(dp.size())) {
dp[l] = b[i];
} else {
dp.push_back(b[i]);
}
}
printf("%d\n", n - int(dp.size()));
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |