Beta Round #61-B: Petya and Countryside

解法

やるだけ問題なんだけど番兵を置かずにやったら大分時間をとられた。やっぱり例外処理は苦手。

#include <stdio.h>

#define MAX_N  1009

int as[MAX_N];
int N;

int solve(){
    int i,p,q,ans=0;
    for(i=1;i<=N;i++){
        for(p=i; as[p-1]<=as[p]; p--);
        for(q=i; as[q]>=as[q+1]; q++);
        if(ans < q - p + 1){
            ans = q - p + 1;
        }
    }
    return ans;
}

int main(){
    int i;
    scanf("%d\n",&N);
    for(i=1;i<=N;i++)scanf("%d",as+i);
    as[0] = 100000;
    as[N+1] = 100000;
    printf("%d\n",solve());
    return 0;
}