제출 #1319420

#제출 시각아이디문제언어결과실행 시간메모리
1319420AgageldiGlobal Warming (CEOI18_glo)C++20
100 / 100
46 ms6696 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define N 500005 const int inf = 1e18; int tc = 1, n, a[N], t, pref[N]; int32_t main() { ios::sync_with_stdio(0);cin.tie(0); cin >> n >> t; for(int i = 1; i <= n; i++) { cin >> a[i]; } vector <int> v(n + 1,INT_MAX); for(int i = 1; i <= n; i++) { auto l = lower_bound(v.begin(),v.end(), a[i]) - v.begin(); v[l] = a[i]; pref[i] = l + 1; } int longest_ans = 0; v = vector<int> (n + 1, INT_MAX); for(int i = n; i >= 1; i--) { auto l = lower_bound(v.begin(),v.end(), -a[i] + t) - v.begin(); longest_ans = max(longest_ans, pref[i] + l); int ins = lower_bound(v.begin(),v.end(), -a[i]) - v.begin(); v[ins] = -a[i]; } cout << longest_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...