题解 | Redraiment的走法
Redraiment的走法
https://www.nowcoder.com/practice/24e6243b9f0446b081b1d6d32f2aa3aa
#include <iostream>
#include <vector>
using namespace std;
int getmaxstep(vector<int>& ve, int startpos){
int startnum = ve[startpos];
int maxstep = 1;
for(int i = startpos + 1; i < ve.size(); i++){
if(startnum < ve[i]){
int step = getmaxstep(ve, i) + 1;
if(step > maxstep){
maxstep = step;
}
}
}
return maxstep;
}
int main() {
int n;
cin >> n;
vector<int> ve(n);
for(int i = 0; i < n; i++){
cin >> ve[i];
}
int maxstep = 1;
for(int i = 0; i < n; i++){
int step = getmaxstep(ve, i);
if(step > maxstep){
maxstep = step;
}
}
cout << maxstep;
}
// 64 位输出请用 printf("%lld")
