2 条题解

  • 0
    @ 2025-8-8 9:02:39

    普通的USACO

    #include<bits/stdc++.h>
    using namespace std;
    int main() {
        int n;
        cin >> n;
        vector<int> h(n);
        for (int i = 0; i < n; ++i) {
            cin >> h[i];
        }
        vector<int> left(n, 1);
        for (int i = 1; i < n; ++i) {
            if (h[i] >= h[i - 1]) {
                left[i] = left[i - 1] + 1;
            }
        }
        vector<int> right(n, 1);
        for (int i = n - 2; i >= 0; --i) {
            if (h[i] >= h[i + 1]) {
                right[i] = right[i + 1] + 1;
            }
        }
        int mw = 0;
        for (int i = 0; i < n; ++i) {
            mw = max(mw, left[i] + right[i] - 1);
        }
        cout << mw << endl;
        return 0;
    }
    

    [USACO10OPEN] 山峰暸望 Mountain Watching S

    信息

    ID
    2802
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    104
    已通过
    37
    上传者