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>
#define all(v) v.begin(), v.end()
#define sz(x) (int)x.size()
#define pb push_back
#define pii pair<int, int>
#define chmin(x, v) x = min(x, v)
#define chmax(x, v) x = max(x, v)
#define x first
#define y second
#define int long long
using namespace std;
signed main(){
int nVals, d; cin >> nVals >> d; //d = 1.
vector<int> vals(nVals);
for (int& val : vals)
cin >> val;
int dp[nVals], representant[nVals];
representant[0] = 0, dp[0] = 1;
int m = 1;
for (int i = 1; i < nVals; ++i){
representant[i] = i;
dp[i] = 1;
// cout << "wsh " << i << endl;
for (int j = 0; j < i; ++j){
if (vals[i - 1] <= vals[j])
representant[j] = i - 1;
if ((i - representant[j]) <= d && vals[i] > vals[j])
chmax(dp[i], dp[j] + 1);
else if ((i - representant[j]) > d)
dp[j] = 0;
// cout << dp[j] << " ";
}
// cout << endl;
// cout << dp[i] << " " << representant[i] << endl;
chmax(m, dp[i]);
}
//cout << endl;
cout << m << endl;
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... |