Submission #1012735

#TimeUsernameProblemLanguageResultExecution timeMemory
1012735MMihalevRabbit Carrot (LMIO19_triusis)C++14
100 / 100
27 ms3932 KiB
#include<iostream>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<cstring>
#include<vector>
#include<queue>
#include<stack>
#include<tuple>
#include<set>
#include<map>
#include<random>
#include<chrono>
using namespace std;
const int MAX_N=2e5+3;
int a[MAX_N];
int n;
int m;
signed main ()
{
    ios_base::sync_with_stdio(0);
    cin.tie(NULL);
    cout.tie(NULL);
    cin>>n>>m;

    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }

    vector<int>dp(n+2,2e9+50);

    int lis=1;

    for(int i=0;i<=n+1;i++)
    {
        int pos=upper_bound(dp.begin(),dp.end(),-(a[i]-i*m))-dp.begin();
        if(pos!=0 or i==0)dp[pos]=-(a[i]-i*m);
        lis=pos+1;
    }

    cout<<n-(lis-2)<<"\n";

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