Submission #969420

#TimeUsernameProblemLanguageResultExecution timeMemory
969420vjudge1Global Warming (CEOI18_glo)C++17
62 / 100
46 ms6716 KiB
/* * With a little appreciation, in a mostly hollow tone, she says, "Delightful." As if the world has any meaning. * TASK : Global Warming * AUTHOR : Marszpace */ #include<bits/stdc++.h> using namespace std; #define int long long int32_t main(){ ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); int n,x; cin >> n >> x; vector<int> arr(n); for(int i=0;i<n;i++){ cin >> arr[i]; } vector<int> lis,len,tail; for(int i=0;i<n;i++){ if(lis.empty()||lis.back()<arr[i]){ lis.push_back(arr[i]); } else{ int idx=lower_bound(lis.begin(),lis.end(),arr[i])-lis.begin(); lis[idx]=arr[i]; } len.push_back(lis.size()); tail.push_back(lis.back()); arr[i]=-1*arr[i]; } int res=lis.size(); lis.clear(); for(int i=n-1;i>=1;i--){ if(lis.empty()||lis.back()<arr[i]){ lis.push_back(arr[i]); } else{ int idx=lower_bound(lis.begin(),lis.end(),arr[i])-lis.begin(); lis[idx]=arr[i]; } if(tail[i-1]<(-lis.back())+x){ res=max(res,(int)lis.size()+len[i-1]); } } cout << res; 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...