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