Submission #522333

#TimeUsernameProblemLanguageResultExecution timeMemory
522333Tam_theguideRabbit Carrot (LMIO19_triusis)C++14
100 / 100
98 ms4676 KiB
#include <bits/stdc++.h>
using namespace std;
int n, m;
int a[200005];
vector<int>f;
int lis[200005];
int main(){
    cin>>n>>m;
    f.push_back(0);
    for (int i=1 ;i<=n; i++){
        cin>>a[i];
        if (a[i]<=m*i){
            f.push_back(a[i]-m*i);
        }
    }


    reverse(f.begin(), f.end());
    int t=0;
    for (auto v:f){
        int k=upper_bound(lis+1, lis+1+t, v)-lis;
        lis[k]=v;
        t=max(t, k);
    }
    cout<<n+1-t;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...