제출 #1185753

#제출 시각아이디문제언어결과실행 시간메모리
1185753WarinchaiGlobal Warming (CEOI18_glo)C++20
100 / 100
37 ms3272 KiB
#include<bits/stdc++.h> using namespace std; int ar[200005]; int l[200005],r[200005]; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int n,x;cin>>n>>x; for(int i=1;i<=n;i++)cin>>ar[i]; vector<int>v; for(int i=1;i<=n;i++){ int id=lower_bound(v.begin(),v.end(),ar[i])-v.begin(); l[i]=id+1; if(id==v.size())v.push_back(ar[i]); else v[id]=ar[i]; } v.clear(); for(int i=n;i>=1;i--){ //cerr<<"qr:"<<-ar[i]+x<<"\n"; int id=lower_bound(v.begin(),v.end(),-ar[i]+x)-v.begin(); r[i]=id+1; id=lower_bound(v.begin(),v.end(),-ar[i])-v.begin(); if(id==v.size())v.push_back(-ar[i]); else v[id]=-ar[i]; //for(auto x:v)cerr<<x<<" "; //cerr<<"\n"; } int ans=0; for(int i=1;i<=n;i++)ans=max(ans,l[i]+r[i]-1); 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...