← 返回题目页

P1420 最长连号

标程

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin >> n;
    vector<int> a(n);
    for (int i = 0; i < n; i++) cin >> a[i];

    int cur = 1;        // 以当前元素结尾的连号长度
    int best = 1;       // 目前出现过的最长连号长度
    for (int i = 1; i < n; i++) {
        if (a[i] == a[i - 1] + 1) {
            cur++;             // 接上了前一个数,连号变长
        } else {
            cur = 1;           // 断开,从当前元素重新开始
        }
        best = max(best, cur);
    }

    cout << best << "\n";
    return 0;
}

动画演示