#include<bits/stdc++.h>
using namespace std;
#define int long long
#define all(x) x.begin(),x.end()
#define ff first
#define ss second
#define pb push_back
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int n,d;
cin>>n>>d;
vector <int> a(n);
for(int i=0;i<n;i++){
cin>>a[i];
}
map <int,int> dp[n];
for(int i=0;i<n;i++){
for(int j=max(0ll,i-d);j<i;j++){
for(auto x : dp[j]){
if(x.ff<a[i]){
dp[i][a[i]]=max(dp[i][a[i]],x.ss+1);
}
else{
dp[i][x.ff]=max(dp[i][x.ff],x.ss);
}
}
}
dp[i][a[i]]=max(dp[i][a[i]],1ll);
}
int mx=0;
for(auto x : dp[n-1]){
mx=max(mx,x.ss);
}
cout<<mx<<"\n";
}
/*
*/
# | 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... |