제출 #1166204

#제출 시각아이디문제언어결과실행 시간메모리
1166204CiprianGlobal Warming (CEOI18_glo)C++20
25 / 100
2093 ms4548 KiB

#include <bits/stdc++.h>
using namespace std;
#define int long long 
int n;
int mx(vector<int>a){
    vector<int>dp;
    for(int i=1; i<=n; i++){
        int pos=lower_bound(dp.begin(),dp.end(), a[i])-dp.begin();
        if(pos==dp.size()){
            dp.push_back(a[i]);
        }else{
            dp[pos]=a[i];
        }
    }return dp.size();
}
int32_t main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int x;
    cin>>n>>x;
    vector<int> a(n+1);
    int mx2=0;
    for(int i=1; i<=n; i++){
        cin>>a[i];
        
        mx2=max(mx2, a[i]);
        
    }int mx1=0;
    x=min(x, mx2);
    if(x==0){
        mx1= max(mx1, mx(a));
    }
    else{
        for(int i=1; i<=n; i++){
            for(int j=i; j<=n; j++){
                for(int q=0; q<=x; q++){
                    for(int w=i; w<=j; w++){
                        a[w]+=q;
                    }mx1= max(mx1, mx(a));
                    for(int w=i; w<=j; w++){
                        a[w]-=q;
                    }
                }
            }
        }
    }cout<<mx1<<endl;

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