This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
void speed()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
}
const int MAXN = 3e5 + 10;
int n, a[MAXN], d, dp[MAXN];
void solve()
{
cin >> n >> d;
for (int i = 1; i <= n; i ++)
{
cin >> a[i];
}
int res = 0;
for (int i = 1; i <= n; i ++)
{
dp[i] = max(dp[i], 1);
int ls = i;
for (int j = i + 1; j <= n; j ++)
{
if (a[j] > a[i] && j - ls > d)
break;
if (a[j] > a[i])
{
//cout << i << " : " << j << endl;
dp[j] = max(dp[j], dp[i] + 1);
}
else
{
if (j == n)
res = max(res, dp[i]);
ls = j;
}
}
}
res = max(res, dp[n]);
cout << res << endl;
}
int main()
{
solve();
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... |