Submission #1183184

#TimeUsernameProblemLanguageResultExecution timeMemory
1183184loomGlobal Warming (CEOI18_glo)C++20
28 / 100
2094 ms3396 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define nl '\n'

int lis(vector<int>& a){
   int n = a.size();

   vector<int> v;
   for(int i=0; i<n; i++){
      if(v.empty() or v.back() < a[i]){
         v.push_back(a[i]);
         continue;
      }

      *lower_bound(v.begin(), v.end(), a[i]) = a[i];
   }

   return v.size();
}

inline void solve(){
   int n, x;
   cin>>n>>x;
   vector<int> a(n);
   for(int i=0; i<n; i++) cin>>a[i];

   int ans = 0;
   auto b = a;
   for(int i=n-1; i>=0; i--){
      b[i] += x;
      ans = max(ans, lis(b));
   }

   cout<<ans;
}

signed main(){
   ios_base::sync_with_stdio(0);
   cin.tie(NULL);cout.tie(NULL);

   int t = 1;
   //cin>>t;
   while(t--) solve();

   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...