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; }