Submission #1263860

#TimeUsernameProblemLanguageResultExecution timeMemory
1263860satyanshuRabbit Carrot (LMIO19_triusis)C++20
0 / 100
1 ms328 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
std::mt19937 rng(std::chrono::steady_clock::now().time_since_epoch().count());
const ll mod = 998244353;
const ll INF = 1e18 + 7;
const int maxN = 1e6 + 7;

void solve()
{
     ll n, m;
     cin>>n>>m;

     vector<ll>a(n);
     for(int i=0;i<n;i++){
        cin>>a[i];
        a[i] = m*(i+1)-a[i];
     }

     vector<ll>dp(n+1, INF);
     dp[0] = -INF;
     int ans = 0;
     for(int i=0;i<n;i++){
        int ind = upper_bound(dp.begin(),dp.end(),a[i]) - dp.begin();
        dp[ind] = a[i];
        ans = max(ans, ind);
     }

     cout<<n-ans<<endl;
     return;
}

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int t;
    t = 1;
    while (t--)
    {
        solve();
    }
    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...