题目链接:http://codeforces.com/contest/831/problem/A
题意:给定一个序列,问你这个序列是否是单峰的。 定义单峰的序列为: (序列值的变化趋势)开始是递增的,然后是平缓的,最后是递减的。
对于开始(递增)和结尾(递减)的那部分可以不出现
思路:按照题目判即可。
import java.io.*; import java.util.*; public class Main { public static final int MAXN=100+24; public static int n; public static int[] val=new int[MAXN]; public static void main(String[] args) { Scanner cin=new Scanner(System.in); PrintWriter out=new PrintWriter(System.out); n=cin.nextInt(); for(int i=1;i<=n;i++){ val[i]=cin.nextInt(); } int up=n+1,down=0; for(int i=1;i<n;i++){ if(val[i] >= val[i+1]){ up=i; break; } } for(int i=n;i>1;i--){ if(val[i] >= val[i-1]){ down=i; break; } } boolean flag=true; for(int i=up;i<down;i++){ if(val[i]!=val[i+1]){ flag=false; break; } } out.println(flag?"YES ":"NO "); out.flush(); out.close(); cin.close(); } }