Submission #870475

#TimeUsernameProblemLanguageResultExecution timeMemory
870475Darren0724Global Warming (CEOI18_glo)C++17
25 / 100
2056 ms4080 KiB
#include <bits/stdc++.h> using namespace std; #define LCBorz \ ios_base::sync_with_stdio(false); \ cin.tie(0); #define int long long #define all(x) x.begin(), x.end() #define x first #define y second const int N=150005; int LIS(vector<int> &v){ vector<int> t; for(int &j:v){ int p=lower_bound(all(t),j)-t.begin(); if(p>=t.size()){ t.push_back(j); } else{ t[p]=j; } } return t.size(); } int32_t main() { LCBorz; int n,x;cin>>n>>x; vector<int> v(n); for(int i=0;i<n;i++){ cin>>v[i]; } if(x==0){ cout<<LIS(v)<<endl; return 0; } int ans=0; for(int i=0;i<n;i++){ for(int j=i;j<n;j++){ for(int d=-x;d<=x;d++){ vector<int> a(n); for(int h=0;h<n;h++){ if(i<=h&&h<=j){ a[h]=v[h]+d; } else{ a[h]=v[h]; } } ans=max(ans,LIS(a)); } } } cout<<ans<<endl; return 0; }

Compilation message (stderr)

glo.cpp: In function 'long long int LIS(std::vector<long long int>&)':
glo.cpp:15:13: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |         if(p>=t.size()){
      |            ~^~~~~~~~~~
#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...