CodeForces-831A-Unimodal Array (水题)
1 /* 2 Name: 3 Copyright: 4 Author: 5 Date: 2018/5/6 19:34:23 6 Description: 7 */ 8 #include <iostream> 9 #include <cstdio> 10 #include <cstring> 11 using namespace std; 12 int arr[1005]; 13 int main() 14 { 15 int n; 16 while (cin>>n) { 17 for (int i=0; i<n; i++) { 18 cin>>arr[i]; 19 } 20 if (n == 1) {//1 21 cout<<"YES"<<endl; 22 continue; 23 } 24 int flag = 1; 25 for (int i=0; i<n; i++) { 26 if (arr[i] != arr[i-1]) flag = 0; 27 } 28 if (flag == 1) {//全相等 29 cout<<"YES"<<endl; 30 continue; 31 } 32 33 bool destory = false; 34 if (arr[0] == arr[1]) { 35 int tmp = arr[0]; 36 int i = 2; 37 while (arr[i] == arr[i-1]) i++; 38 //不相等 39 for (; i<n; i++) { 40 if (arr[i] >= arr[i-1]) { 41 destory = true; 42 break; 43 } else { 44 } 45 } 46 //判断完毕 47 if (destory) { 48 cout<<"NO"<<endl; 49 } else{ 50 cout<<"YES"<<endl; 51 } 52 } else { 53 int i=1; 54 //递增 55 while (arr[i] > arr[i-1] && i<n) i++; 56 //相等 57 while (arr[i] == arr[i-1] && i<n) i++; 58 //递减 59 while (arr[i] < arr[i-1] && i<n) i++; 60 if (i == n) { 61 cout<<"YES"<<endl; 62 } else { 63 cout<<"NO"<<endl; 64 } 65 } 66 } 67 return 0; 68 }