求区间最长不下降子序列

【C++】大概是给你n个数的取值范围,求最长不下降子序列。
$n^2$做法也资瓷啊

int GetMaxAscLen(vector nums){
if(nums.size() == 0)
return 0;

        int maxLen = 1, start = 0;

        for(int i = 1; i < nums.size(); ++i){
                    if(nums[i] < nums[i - 1]){
                                    int tempLen = i - start ;
                                    if(tempLen > maxLen)
                                                 maxLen = tempLen;
                                    start = i;
                    }
        }

        maxLen = nums.size() - start  > maxLen ? nums.size() - start : maxLen;

        return maxLen;

}

int GetMaxAscLen(vector nums){
if(nums.size() == 0)
return 0;

              int maxLen = 1, start = 0;
              for(int i = 1; i < nums.size(); ++i){
                if(nums[i] < nums[i - 1]){
                                int tempLen = i - start ;
                                if(tempLen > maxLen)
                                             maxLen = tempLen;
                                start = i;
                }
    }

    maxLen = nums.size() - start  > maxLen ? nums.size() - start : maxLen;

    return maxLen;

}