Submission #1298813

#TimeUsernameProblemLanguageResultExecution timeMemory
1298813vladimirfilipRabbit Carrot (LMIO19_triusis)C++20
0 / 100
2 ms720 KiB
#include <bits/stdc++.h> using namespace std; #define int long long void solve() { int n, m; cin >> n >> m; vector<int> a(n); for (int i = 0; i < n; i++) cin >> a[i]; set<pair<int, int>> s; for (int i = n - 1; i >= 0; i--) { pair<int, int> search = {a[i] + m + 1, 0}; auto it = s.lower_bound(search); if (it == s.begin()) { s.emplace(a[i], 1); } else { it = prev(it); auto p = make_pair(a[i], it->second + 1); while (!s.empty() && it->second <= p.second) { it = s.erase(it); } s.insert(it, p); } } pair<int, int> search{m + 1, 0}; auto it = s.lower_bound(search); if (it == s.begin()) cout << n << endl; else { cout << n - prev(it)->second << endl; } } signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int t = 1; // cin >> t; while (t--) solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...