美丽数列

小明是个普通的计算机本科生,很喜欢研究数组相关的问题。在他的认知里,美丽的数组是这样的,对于一个长度为n的数组a,存在一个下标i(1<=i<=n)使得1i之间的数是严格递增的,i+1n之间的数是严格递减的。现在这个数组a里的元素是随机给定的(这个数组可能是不美丽的),对于数组a内的任意一个元素ai我们可以进行若干次ai=ai-1(ai>0)的操作,问能否通过若干次操作使得这个数组变得美丽。
输入格式:
第一行输入数组长度n (1≤n≤3*1e5), 第二行输入n个整数a1,…,an (0≤ai≤1e9)。
输出格式:
输出“Yes”表示这个数组可以变美丽,输出“No”表示不可以。

#include <stdio.h>
int main(){
	int n,i,k;
	int panduan=1;
	scanf("%d",&n);
	int a[n];
	for(i=0;i<n;i++){
	scanf ( "%d",& a[i]);
	}
	for(i=0;i<n-1;i++){
		if(a[i]>a[i+1]){
			a[i]=i;
			if(a[i]>=a[i+1]){
				break;
			}
		}
	}
	for(k=i+1;k<n;k++){
		if(a[k]>i){
			panduan=0;
			break;
		}
	}
	if(panduan==1) printf("Yes");
	if(panduan==0) printf("No");
	
	
	return 0;
}
原文地址:https://www.cnblogs.com/wangmou-233-1024-com/p/12433136.html