猫啊,活着最重要的就是开心啊!噗噗猫天天看着开心猫龇牙咧嘴得笑,决定给它构造一个开心序列,开心序列定义:序列a由n个正整数构成;
最开始序列的元素先是严格递增; 接着元素开始相同; 再接着元素开始严格递减。 注意第一部分和第三部分可以不存在。 举个例子,{1,2,3,3,2,1},{4,2},{3},{1,2}都是开心序列。
输入
第一行输入一个正整数n(1<=n<=100)为序列的个数; 第二行输入n个正整数a1, a2, …, an (1 ≤ ai ≤ 1 000),ai代表第i个元素的值。 输入结束标志为文件结束符(EOF)。
输出
如果输入序列是开心序列,那么输出“YES”,否则输出“NO”。
样例输入
3 1 2 3 4 1 2 1 3
样例输出
YES NO
碎碎念念
写三个函数,分别判断递增、不变和递减。
代码
代码语言:javascript复制#include<stdio.h>
int a[100],n;
int descent(int m)
{
int i;
for(i=m;i<n-1;i )
{
if(a[i]<a[i 1]||a[i]==a[i 1])
return 0;
}
return 1;
}
int equal(int m)
{
int i;
for(i=m;i<n-1;i )
{
if(a[i]<a[i 1])
{
return 0;
}
else if(a[i]>a[i 1])
{
return descent(i);
}
}
return 1;
}
int plus()
{
int i;
for(i=0;i<n-1;i )
{
if(a[i]==a[i 1])
{
return equal(i);
}
else if(a[i]>a[i 1])
{
return descent(i);
}
}
return 1;
}
int main()
{
int i;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i )
scanf("%d",&a[i]);
if(plus()==1)
printf("yesn");
else
printf("non");
}
}