Submission #1108309

#TimeUsernameProblemLanguageResultExecution timeMemory
1108309vjudge1Rabbit Carrot (LMIO19_triusis)C++17
100 / 100
22 ms7000 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define endl "\n"

void solve()
{
    ll n, m;
    cin >> n >> m;
    vector<ll> arr(n);
    for (ll i = 0; i < n; i++)
        cin >> arr[i];

    for (ll i = 0; i < n; i++)
        arr[i] -= (i + 1) * m;

    reverse(arr.begin(), arr.end());
    vector<ll> seq;
    seq.push_back(-1e9);
    for (ll i = 0; i < n; i++)
    {
        if (arr[i] > 0)
            continue;
        else if (seq.back() <= arr[i])
            seq.push_back(arr[i]);
        else
        {
            ll ind = upper_bound(seq.begin(), seq.end(), arr[i]) - seq.begin();
            seq[ind] = arr[i];
        }
    }

    cout << n - (ll)seq.size() + 1 << endl;
}
signed main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);

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