Submission #1339379

#TimeUsernameProblemLanguageResultExecution timeMemory
1339379haroldasRabbit Carrot (LMIO19_triusis)C++20
14 / 100
1 ms580 KiB
/*
    Problem link: 
    Tags: 
*/

#include<bits/stdc++.h>

using namespace std;

//#define MULTI
#define ll long long
#define all(x) (x).begin(), (x).end()

void solve() {
    ll n, k;
    cin >> n >> k;
    vector<ll> a(n+1), dp(n+1);
    a[0] = 0;
    for (int i = 1; i <= n; i++)
    {
        cin >> a[i];
        a[i] = k*i-a[i];
    }
    set<pair<ll, ll>> s;
    s.insert({0, 1});
    ll mx = 1;
    for (int i = 1; i <= n; i++)
    {
        if(a[i] < 0) continue;
        dp[i] = 1;
        auto t = s.upper_bound({a[i], 2*n});
        if(t != s.begin()) {
            dp[i] = (*prev(t)).second+1;
        }
        mx = max(mx, dp[i]);
        s.insert({a[i], dp[i]});
    }
    cout << n+1-mx << endl;
}

int main(int argc, char **argv)
{    
    ios::sync_with_stdio(false);
    cin.tie(0);
    #ifdef MULTI
        int t;
        cin >> t;
        while (t--)
        {
            solve();   
        }
    #else
        solve();
    #endif
    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...