#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,d,maxi=1,a;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin >> n >> d;
if(d==n){
set<int> lis;
for(int i=0;i<n;i++){
cin >> a;
auto p=lis.upper_bound(a);
if(p!=lis.end()){
lis.erase(p);
}
lis.insert(a);
}
cout << lis.size();
return 0;
}
vector<int> nums(n),dp(n,1);
for(int i=0;i<n;i++){
cin >> nums[i];
}
dp[0]=1;
for(int i=1;i<n;i++){
for(int j=1;j<=d && i-j>=0;j++){
if(nums[i]<=nums[i-j]){
//dp[i]=0; nada
}else{
dp[i]=max(dp[i],dp[i-j]+1);
}
}
maxi=max(maxi,dp[i]);
//cout << dp[i] <<" ";
}
cout << maxi;
}
# | 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... |