Submission #969695

#TimeUsernameProblemLanguageResultExecution timeMemory
969695vjudge1Global Warming (CEOI18_glo)C++17
100 / 100
44 ms3808 KiB
#include<bits/stdc++.h> using namespace std; int arr[200007]; int pref[200007]; int main() { cin.tie(nullptr)->ios::sync_with_stdio(0); int n,d; cin>>n>>d; for(int i=0;i<n;i++)cin>>arr[i]; vector<int> dp; int ans=0; for(int i=0;i<n;i++) { int idx=lower_bound(dp.begin(),dp.end(),arr[i])-dp.begin(); pref[i]=idx+1; if(idx==dp.size())dp.push_back(arr[i]); else dp[idx]=arr[i]; } ans=dp.size(); dp.clear(); for(int i=n-1;i>=0;i--) { int idx=lower_bound(dp.begin(),dp.end(),-arr[i]+d)-dp.begin(); ans=max(ans,pref[i]+idx); idx = lower_bound(dp.begin(),dp.end(),-arr[i])-dp.begin(); if(idx==dp.size())dp.push_back(-arr[i]); else dp[idx]=-arr[i]; } cout<<ans; return 0; }

Compilation message (stderr)

glo.cpp: In function 'int main()':
glo.cpp:19:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |         if(idx==dp.size())dp.push_back(arr[i]);
      |            ~~~^~~~~~~~~~~
glo.cpp:29:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |         if(idx==dp.size())dp.push_back(-arr[i]);
      |            ~~~^~~~~~~~~~~
#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...