#include "bits/stdc++.h"
#define FOR(i,a,b)for(int i=(a);i<(b);i++)
#define F0R(i,a)FOR(i,0,a)
#define ROF(i,a,b)for(int i=(b)-1;i>=(a);i--)
#define R0F(i,a)ROF(i,0,a)
#define REP(a)F0R(_,a)
using namespace std;
const int mxn=2e5+20;
int a[mxn];
int main(){
int n,m;cin>>n>>m;
F0R(i,n)cin>>a[i];
F0R(i,n)a[i]=(i+1)*m-a[i];
vector<int>dp;
F0R(i,n)if(a[i]>=0){
auto it=upper_bound(begin(dp),end(dp),a[i]);
if(it==end(dp))dp.push_back(a[i]);
else *it=a[i];
}
cout<<n-dp.size()<<endl;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |