#include <bits/stdc++.h>
using namespace std;
int main() {
    cin.tie(0)->sync_with_stdio(0);
    int n, d; cin >> n >> d;
    vector<int> a(n); for (int i = 0; i < n; i++) cin >> a[i];
    vector<int> DP(n, 0);
    for (int i = 0; i < n; i++) {
        DP[i] = 1;
        for (int j = i - 1; j >= 0; j--) {
            if (a[j] >= a[i]) continue;
            int potential = DP[j] + 1;
            int prev_se = j, max_dist = 0;
            for (int k = j; k <= i; k++) {
                max_dist = max(max_dist, k - j);
                if (a[k] <= a[j]) prev_se = k;
            }
            if (max_dist <= d) DP[i] = max(DP[i], potential);
        }
    }
    cout << *max_element(DP.begin(), DP.end()) << "\n";
    return 0;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |