美丽数列
Posted wangmou-233-1024-com
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了美丽数列相关的知识,希望对你有一定的参考价值。
小明是个普通的计算机本科生,很喜欢研究数组相关的问题。在他的认知里,美丽的数组是这样的,对于一个长度为n的数组a,存在一个下标i(1<=i<=n)使得1~i之间的数是严格递增的,i+1~n之间的数是严格递减的。现在这个数组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;
}
以上是关于美丽数列的主要内容,如果未能解决你的问题,请参考以下文章