• 遍历数组,检查相邻元素
  • 如果 ,则当前连续序列长度加1
  • 否则重新开始计数
  • 维护最大长度
#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin >> n;
    vector<int> a(n - 1);
    for(int i = 0; i < n - 1; i++) {
        cin >> a[i];
    }
    
    int maxLen = 1;  // 最长顺子长度
    int curLen = 1;  // 当前顺子长度
    
    // 遍历寻找连续序列
    for(int i = 1; i < n - 1; i++) {
        if(a[i] == a[i-1] + 1) {
            curLen++;
            maxLen = max(maxLen, curLen);
        } else {
            curLen = 1;
        }
    }
    
    cout << maxLen << endl;
    return 0;
}