Unimodal Array
如果数组满足以下三个条件,则这个数组是有趣的:
它刚开始是严格递增的
之后是不变的
再之后它是严格递减的
但除了第二个条件,其他两个条件(递增和递减)不存在的数组也可以是有趣的。
例如,以下三个数组是有趣的: [5, 7, 11, 11, 2, 1], [4, 4, 2], [7], 但以下三个却不是有趣的: [5, 5, 6, 6, 1], [1, 2, 1, 2], [4, 5, 5, 6].
请您编写一个程序判断一个数组是否有趣
Input
第一行是一个整数 n (1 ≤ n ≤ 100) —数组内元素的个数
第二行包括n 个整数 a1, a2, …, an (1 ≤ ai ≤ 1 000) — 数组的元素
Output
如果这个数组是有趣的,请输出”YES” 否则请输出 “NO”.
Examples
输入
6
1 5 5 5 4 2
输出
YES
输入
5
10 20 30 20 10
输出
YES
输入
4
1 2 1 2
输出
NO
输入
7
3 3 3 3 3 3 3
输出
YES
分析:例子给的很详细 几乎是所有的情况
AC代码:
//fighting!!!
#include <stdio.h>
int main()
{int n,a[10000],i;while(scanf("%d",&n)!=EOF){for(i=0;i<n;i++)scanf("%d",&a[i]);int max=0,t,flag=0;for(i=0;i<n;i++){if(a[i]>max){t=i;max=a[i];}}//找到最大的那个元素 当为平序时 此时t=0 不进入下面那个for循环 for(i=0;i<t;i++)//在找到峰值以前 判断前面是否升序排列 {if(a[i]<a[i+1])continue;else{flag=1;break;}} if(flag==1)//升序不满足 输出no printf("NO\n");else{int c=0;//另外一个标记位 后两段会出现平稳或下降//当c==0时 说明一直平稳 当c不等于0时结束平稳状态for(int i=t;i<n-1;i++){if(c==0){if(max==a[i+1])continue;else if(a[i+1]<a[i]){c=1;//标记为1 出现不平衡 continue;}else{//不能出现升序情况 出现就不满足flag=1;break; }}else{//平稳结束 判断降序情况if(a[i+1]<a[i]){continue;}else{flag=1;break;} }}if(flag==1)printf("NO\n");elseprintf("YES\n"); } }return 0;
}
Unimodal Array相关推荐
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)
昨晚的没来得及打,最近错过好几场CF了,这场应该不算太难 A. Unimodal Array time limit per test 1 second memory limit per test 25 ...
- Codeforces Round #424 (Div. 2)
D题fst了,生无可恋.第二场rated的CF,打得精神恍惚 A. Unimodal Array 题意:判断数列是否是单峰的. 像题意那样分为三个阶段随便判一判就好了 #include<iost ...
- Codeforces 题目合集+分类+代码 【Updating...】【361 in total】
961A - Tetris 模拟 ...
- 老男孩上海校区Python面试题
python面试题 第一章:python基础 数据类型: 1 字典: 1.1 现有字典 dict={'a':24,'g':52,'i':12,'k':33}请按字典中的 value 值进行排序? 1. ...
- CF831A-Unimodal Array(单峰阵列)
A.单峰阵列 Array of integers is unimodal, if: it is strictly increasing in the beginning; after that it ...
- php recordarray,Array 数组 - [ php中文手册 ] - 在线原生手册 - php中文网
用户评论: [#1] florenxe [2015-10-07 18:53:45] //a nice little way to print leap years using array for ($ ...
- NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存
NumPy 简介 一个用 python 实现的科学计算包.包括: 1.一个强大的 N 维数组对象 Array : 2.比较成熟的(广播)函数库: 3.用于整合 C/C++ 和 Fortran 代码的工 ...
- array.array python yhzf
关于array: Python 本身没有数组这个说法, 有的就是list和tuple, list就具有其他语言中的数组特性. 至于list和tuple的区别,在于list可以在运行时修改内容和大小,t ...
- [JS]请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。
请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组. 刚开始复习js题还不太习惯 CSDN上看了一个帖子,说是牛客上的标答, ...
- hnswlib RuntimeError: Cannot return the results in a contigious 2D array. Probably ef or M is to sma
1. 问题现象 index = hnswlib.Index(space = '100', dim = 512) index.init_index(max_elements = 100, ef_cons ...
最新文章
- VS2010正式版MSDN下载
- 假期快乐!超强面试资源等你Pick,先收藏!
- 《SQL Server 2012 T-SQL基础》读书笔记 - 1.背景
- Install KVM Hypervisor on arrch64 Linux Server
- shell脚本编程规范与变量
- 初中学历做开发,3年在北京买了房,超过了99%的程序员!
- 《控制论导论》读书:机构-黑箱
- 聊聊学习型组织的五项修炼(下)
- jpg/png格式的图片转换成eps格式
- 2021-04-30
- Onlyoffice安装步骤
- 波士顿法律第一至五季/全集Boston Legal迅雷下载
- 学习笔记——FPGA芯片主要资源介绍
- Make it Divisible by 25
- UART总线协议——esp32学习笔记
- python在大数据分析中的应用
- Linux 修改只读文件
- 制作U盘启动CDLinux
- .Net Core跨平台 图片验证码
- 一位上海女生所经历过的N次感情,对80 90后的朋友具有深刻的教育意义。如果你真的看懂了,那么表示你可以真正开始谈恋爱了...
热门文章
- H5页面调用扫一扫功能
- 2021-2027中国家具门立柱市场现状及未来发展趋势
- Excel 实现 平均数±标准差
- MySQL日期计算函数
- 《国富论》阅读笔记05
- 安装pytorch详细教程
- linux系统双显卡切换显卡驱动,Ubuntu 14.04 安装 Nvidia 私有驱动并进行双显卡切换...
- java web 精仿微博_【Java】盘点 Github 上的高仿 app 项目,B站 微博 微信等等
- macmini更换硬盘重装系统后安装win10双系统
- linux查看进程命令wwn,在Linux下查看WWN、WWPN方法