美丽数列

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

以上是关于美丽数列的主要内容,如果未能解决你的问题,请参考以下文章

《程序设计语言综合设计》第二周上机练习——4 美丽数列

NOIP模拟赛 某种数列问题

1049. 数列的片段和(20)

1049 数列的片段和 (20 分)

PAT 1049. 数列的片段和

某种数列