Submission #1279822

#TimeUsernameProblemLanguageResultExecution timeMemory
1279822cmiucRabbit Carrot (LMIO19_triusis)C++20
100 / 100
25 ms2004 KiB
#include <iostream>
#include <algorithm>

using namespace std;
const int N = 2e5 + 10;
int dp[N], a[N], n, M, Ans;

int main(){
	ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
	cin>>n>>M;

	for (int i=1, b;i<=n;i++){
		cin>>b;
		a[n - i + 1] = b - i * M;
	}

	for (int i=1;i<=n;i++)
		dp[i] = 2e9;
	dp[0] = -dp[1];

	for (int i=1;i<=n;i++){
		int u = upper_bound(dp, dp + n + 1, a[i]) - dp;
		dp[u] = a[i];
		if (a[i] <= 0 and u > Ans)
			Ans = u;
	}
	cout<<n - Ans<<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...