Submission #1319323

#TimeUsernameProblemLanguageResultExecution timeMemory
1319323khanhphucscratchRabbit Carrot (LMIO19_triusis)C++20
100 / 100
26 ms5104 KiB
#include<bits/stdc++.h>
#define int long long
using namespace std;
int a[200005], dp[200005], startOf[200005];
signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int n, m; cin>>n>>m;
    for(int i = 1; i <= n; i++){
        cin>>a[i]; a[i] -= i*m;
    }
    reverse(a+0, a+n+1);
    memset(startOf, 0x3f, sizeof(startOf)); startOf[0] = -1e18;
    for(int i = 0; i <= n; i++){
        dp[i] = upper_bound(startOf + 0, startOf + n + 2, a[i]) - startOf;
        startOf[dp[i]] = min(startOf[dp[i]], a[i]);
    }
    cout<<n+1-dp[n];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...