Submission #1274379

#TimeUsernameProblemLanguageResultExecution timeMemory
1274379warrennGlobal Warming (CEOI18_glo)C++20
25 / 100
69 ms3728 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long

int lis(vector<int>&a){
    vector<int>tmp;
    for(int q=0;q<a.size();q++){
        int id=lower_bound(tmp.begin(),tmp.end(),a[q])-tmp.begin();
        if(id==tmp.size()){
            tmp.push_back(a[q]);
        }
        else{
            tmp[id]=a[q];
        }
    }
    return tmp.size();
}

signed main(){
    int n,x;
    cin>>n>>x;
    vector<int>a;
    for(int q=0;q<n;q++){
        int x;
        cin>>x;
        a.push_back(x);
    }

    if(n<=50 && x<=50){
        int ans=0;
        for(int val=-x;val<=x;val++){
            for(int l=0;l<n;l++){
                for(int r=l;r<n;r++){
                    a[r]+=val;
                    ans=max(ans,lis(a));
                }
                for(int r=l;r<n;r++){
                    a[r]-=val;
                }
            }
        }
        cout<<ans<<endl;
    }
    else if(x==0){
        cout<<lis(a)<<endl;
    }
}
#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...