Submission #969686

#TimeUsernameProblemLanguageResultExecution timeMemory
969686vjudge1Global Warming (CEOI18_glo)C++17
0 / 100
27 ms3092 KiB
#include<bits/stdc++.h> using namespace std; int arr[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,pref[200007]={}; for(int i=0;i<n;i++) { int idx=upper_bound(dp.begin(),dp.end(),arr[i])-dp.begin(); if(idx==dp.size())dp.push_back(arr[i]); else dp[idx]=arr[i]; pref[i]=idx-1; } ans=dp.size(); dp.clear(); for(int i=n-1;i>0;i--) { int idx=upper_bound(dp.begin(),dp.end(),-arr[i]+d)-dp.begin(); ans=max(ans,pref[idx]+i-1); idx = upper_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:17:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |         if(idx==dp.size())dp.push_back(arr[i]);
      |            ~~~^~~~~~~~~~~
glo.cpp:28:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |         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...