Submission #1306064

#TimeUsernameProblemLanguageResultExecution timeMemory
1306064NipphitchGlobal Warming (CEOI18_glo)C++20
100 / 100
43 ms6640 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int N=2e5+5; int a[N],pf[N]; signed main() { ios::sync_with_stdio(0); cin.tie(0); int n,x; cin >> n >> x; for(int i=0;i<n;i++) cin >> a[i]; vector <int> dp(n,INT_MAX); int ans=0; for(int i=0;i<n;i++){ int j=lower_bound(dp.begin(),dp.end(),a[i])-dp.begin(); dp[j]=a[i]; pf[i]=j+1; ans=max(ans,pf[i]); } dp=vector <int>(n,INT_MAX); for(int i=n-1;i>=0;i--){ int pos=lower_bound(dp.begin(),dp.end(),-a[i]+x)-dp.begin(); ans=max(ans,pf[i]+pos); int ip=lower_bound(dp.begin(),dp.end(),-a[i])-dp.begin(); dp[ip]=-a[i]; } cout << ans; }
#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...