Submission #1318110

#TimeUsernameProblemLanguageResultExecution timeMemory
1318110kawhietGlobal Warming (CEOI18_glo)C++20
0 / 100
2094 ms2744 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n, x;
    cin >> n >> x;
    vector<int> a(n);
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    vector<int> l(n), r(n);
    set<int> s;
    for (int i = 0; i < n; i++) {
        auto it = s.lower_bound(a[i]);
        if (it != s.end()) {
            s.erase(it);
        }
        s.insert(a[i]);
        l[i] = s.size();
    }
    set<int> t;
    for (int i = n - 1; i >= 0; i--) {
        auto it = t.lower_bound(-a[i]);
        if (it != t.end()) {
            t.erase(it);
        }
        t.insert(-a[i]);
        r[i] = t.size();
    }
    int ans = s.size();
    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            if (a[i] - a[j] < x) {
                ans = max(ans, l[i] + r[j]);
            }
        }
    }
    cout << ans << '\n';
    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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...