Submission #1164669

#TimeUsernameProblemLanguageResultExecution timeMemory
1164669AbdullahIshfaqRabbit Carrot (LMIO19_triusis)C++20
100 / 100
24 ms3400 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define MOD 998244353
void solve(){
	ll n, k;
    cin >> n >> k;
    vector<ll> dis(n + 2, -1e13), arr(n + 2);
    dis[n + 1] = 0;
    for(int i = 1; i <= n; i++){
        cin >> arr[i];
    }
    for(int i = 1; i <= n; i++){
		arr[i] -= (k * i);
		if(arr[i] > dis[n + 1]){
			continue;
		}
        ll j = lower_bound(dis.begin(), dis.end(), arr[i]) - dis.begin();
        dis[j - 1] = arr[i];
    }
    ll ans = n;
    for(int i = 1; i <= n; i++){
        if(dis[i] != -1e13){
           ans = i - 1;
		   break;
        }
    }
    cout << ans << '\n';
}
int main(){
	ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int tests = 1;
	// cin >> tests;
	for(int i = 1; i <= tests; i ++)
		solve();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...