Submission #1298120

#TimeUsernameProblemLanguageResultExecution timeMemory
1298120EkinOnalRabbit Carrot (LMIO19_triusis)C++20
63 / 100
1094 ms2080 KiB
#include <bits/stdc++.h>
using namespace std;

#define vi vector<int>


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

	vi arr(n+5); 
	for(int i=1;i<=n;i++) cin>>arr[i],arr[i]-=i*m;
	for(int i=1;i<=n;i++) arr[i]=-arr[i];

	multiset<int> lis; //int mx=-1e9-1;
	for(int i=1;i<=n;i++){
		if(arr[i]<0) continue;

		auto itr = upper_bound(lis.begin(),lis.end(),arr[i]);
		if(lis.empty() || itr==lis.end() ) {lis.insert(arr[i]);continue;}
		else{
			lis.erase(lis.find(*itr)); lis.insert(arr[i]);
		}
	}	
	// for(auto u : lis) cout<<u<<" ";cout<<endl;
	cout<<n-(int)lis.size()<<endl;

}		
	
int32_t main(/*int32_t argc, char* argv[]*/){
	std::ios_base::sync_with_stdio(0); std::cin.tie(0);		
	// freopen("cowjog.in", "r", stdin);
	// freopen("cowjog.out", "w", stdout);

	int t=1;
	// cin >> t;
	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...