Submission #969138

#TimeUsernameProblemLanguageResultExecution timeMemory
969138vjudge1Global Warming (CEOI18_glo)C++17
100 / 100
46 ms4696 KiB
#include<bits/stdc++.h> #define pb emplace_back #define long long ll; using namespace std; typedef pair<int,int> ii; const int N = 2e5 + 5; int n , x , a[N]; int prefix[N]; int b[N]; int main() { ios_base::sync_with_stdio(0);cin.tie(0); cin >> n >> x; for(int i = 1 ; i <= n ; i++) cin >> a[i]; int m = 0; for(int i = 1 ; i <= n ; i++) { int k = lower_bound(b + 1 , b + m + 1 , a[i]) - b; b[k] = a[i]; m = max(m , k); prefix[i] = k; } int res = 0; m = 0; for(int i = n ; i >= 1 ; --i) { res = max(res , min(m , int(lower_bound(b + 1 , b + m + 1 , a[i] , greater<int>()) - b) - 1) + prefix[i]); int k = lower_bound(b + 1 , b + m + 1 , a[i] + x , greater<int>()) - b; b[k] = a[i] + x; m = max(m , k); } cout << res; }
#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...