Submission #255576

#TimeUsernameProblemLanguageResultExecution timeMemory
255576MarkoesRabbit Carrot (LMIO19_triusis)C++14
100 / 100
42 ms3832 KiB
#include<bits/stdc++.h>

using namespace std;
int n,m,a[200005],lis[200005],maks=1;
int main(){
	ios_base::sync_with_stdio(NULL);
	cin.tie(0);cout.tie(0);
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		a[i] = m*i-a[i];
		//cout<<a[i]<<' ';
	}
	//cout<<endl;
	a[0] = 0;
	lis[1] = 0;
	for(int i=2;i<=n;i++){
		lis[i] = 1e9+5;
	}
	for(int i=1;i<=n;i++){
		if(a[i]<0) continue;
		int it = upper_bound(lis+1,lis+n+1,a[i]) - lis;
		//cout<<it<<endl;
		if(lis[it] > a[i]){
			lis[it] = a[i];
		}
		maks = max(it,maks);
	}
	cout<<n-maks+1<<endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...