Submission #940026

#TimeUsernameProblemLanguageResultExecution timeMemory
940026vjudge1Global Warming (CEOI18_glo)C++17
100 / 100
97 ms9528 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define fr first #define sc second #define ll long long #define int long long const int N=1e5+5; void solve(){ int n,x;cin>>n>>x; vector<int> a(n),pref(n+1),suf(n+1); for(int i=0;i<n;i++) cin>>a[i]; vector<int> lis(n,1e10),lds(n,1e10); for(int i=n-1;i>=0;i--){ int it=lower_bound(all(lds),-a[i])-lds.begin(); if(lds[it]>-a[i]) lds[it]=-a[i]; suf[i]=it+1; } int ans=0; for(int i=0;i<n;i++){ int It=lower_bound(all(lis),a[i]+x)-lis.begin(); ans=max(ans,It+suf[i]); int it=lower_bound(all(lis),a[i])-lis.begin(); if(lis[it]>a[i]) lis[it]=a[i]; pref[i]=it+1; } cout<<ans<<endl; } main(){ int T=1; //cin>>T; while(T--){ solve(); } } /* 12 2 2 3 3 8 1 5 6 7 8 3 5 4 2 1 2 7 3 4 4 7 7 6 5 6 6 8 6 9 7 10 10 11 10 12 */

Compilation message (stderr)

glo.cpp:37:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   37 | main(){
      | ^~~~
#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...