#41057: 偷吃步解法


wusimon555 (unknown)

學校 : 不指定學校
編號 : 126121
來源 : [210.59.66.252]
最後登入時間 :
2025-09-10 14:27:47

因為答案只要算最大值,所以設一個起始值都為零的b[n]陣列,然後把得到連續飛行值一直輸入陣列就好,

最後再排序一下陣列取陣列的最大值即可,然後就神奇地過了

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin>>n;
    int a[n];
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    int b[n]={0};//設一個儲存飛行棟數值的陣列
    int k=1;//飛行越過棟數,起始值為1
    for(int i=0;i<n-1;i++){
        if(a[i]-a[i+1]>0){
            k++;
            b[i]=k;
        }
        else{
            k=1;
        }
    }
    sort(b,b+n);
    cout << b[n-1] << endl;
    return 0;
}