Submission #574579

#TimeUsernameProblemLanguageResultExecution timeMemory
574579beabossRabbit Carrot (LMIO19_triusis)C++14
0 / 100
1 ms212 KiB
#include <bits/stdc++.h>

using namespace std;

int mod = 1000000007;

typedef long long ll;

int main() {
	int n, m;
	cin >> n >> m;

	vector<int> vals(n);

	for (int i = 0; i < n; i++) {
		cin >> vals[i];
	}

	vector<int> dp(n + 1, 0);
	
    for (int i = 0; i < n; i++) {
    	
    	if (m * (i + 1) < vals[i]) continue;

    	int best = 0;
    	int best_s = 0;

    	for (int j = 0; j < i; j++) {
    		if (vals[i] > vals[j] + m * (i - j)) continue;
    		if (dp[j + 1] >= best_s) {
    			best_s = dp[j + 1];
    			best = j;
    		}
    	}

    	dp[i + 1] = 1 + dp[best + 1];
        
        
		
    }

    cout << n - dp[n] << 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...