Submission #1218207

#TimeUsernameProblemLanguageResultExecution timeMemory
1218207muhammadali_2009Global Warming (CEOI18_glo)C++20
38 / 100
2088 ms4544 KiB
//              +-- -- --++-- +-In the name of ALLAH-+ --++-- -- --+     //          

#include <bits/stdc++.h>
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0)
#define endl '\n'
#define ll long long
#define int long long
#define all(x) x.begin(), x.end()
#define all1(x) x.rbegin(), x.rend()
#define seea(x) for(int i = 0; i < x; i++)
#define pb push_back
#define ff first
#define vc vector
#define ss second

using namespace std;  
const int mod = 1e9 + 7;

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

void solve() {
    int ans = 1;
    int n, x; cin >> n >> x;
    vector<int>a(n);
    seea(n) cin >> a[i];
    if(x == 0){
        cout << lis(a) << endl;
        return;
    }
    for(int i = 0; i < n; i ++){
        vector<int>b = a;
        for(int j = i + 1; j < n; j ++)b[j] += x;
        ans = max(ans, lis(b));
    }
    cout << ans << endl;
}

signed main(){
    fast;
    int t = 1;
    //cin >> t;
    while (t--){
        solve();
    }
}
#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...