zoukankan      html  css  js  c++  java
  • Code froces 831 A. Unimodal Array

    A. Unimodal Array
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    Array of integers is unimodal, if:

    • it is strictly increasing in the beginning;
    • after that it is constant;
    • after that it is strictly decreasing.

    The first block (increasing) and the last block (decreasing) may be absent. It is allowed that both of this blocks are absent.

    For example, the following three arrays are unimodal: [5, 7, 11, 11, 2, 1], [4, 4, 2], [7], but the following three are not unimodal: [5, 5, 6, 6, 1], [1, 2, 1, 2], [4, 5, 5, 6].

    Write a program that checks if an array is unimodal.

    Input

    The first line contains integer n (1 ≤ n ≤ 100) — the number of elements in the array.

    The second line contains n integers a1, a2, ..., an (1 ≤ ai ≤ 1 000) — the elements of the array.

    Output

    Print "YES" if the given array is unimodal. Otherwise, print "NO".

    You can output each letter in any case (upper or lower).

    Examples
    Input
    6
    1 5 5 5 4 2
    Output
    YES
    Input
    5
    10 20 30 20 10
    Output
    YES
    Input
    4
    1 2 1 2
    Output
    NO
    Input
    7
    3 3 3 3 3 3 3
    Output
    YES
    #include <iostream>
    #include <algorithm>
    #include <cstring>
    #include <cstdio>
    #include <vector>
    #include <cstdlib>
    #include <iomanip>
    #include <cmath>
    #include <ctime>
    #include <map>
    #include <set>
    using namespace std;
    #define lowbit(x) (x&(-x))
    #define max(x,y) (x>y?x:y)
    #define min(x,y) (x<y?x:y)
    #define MAX 100000000000000000
    #define MOD 1000000007
    #define pi acos(-1.0)
    #define ei exp(1)
    #define PI 3.141592653589793238462
    #define INF 0x3f3f3f3f3f
    #define mem(a) (memset(a,0,sizeof(a)))
    typedef long long ll;
    int main()
    {
        int a[105],n,x;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
        int l=1,r=n;
        while(l<n && a[l]<a[l+1]) l++;
        while(r>1 && a[r]<a[r-1]) r--;
        for(int i=l+1;i<=r;i++)
            if(a[i]!=a[l]) return puts("NO"),0;
        puts("YES");
        return 0;
    }
  • 相关阅读:
    scrapy user-agent随机更换
    python框架Scrapy中crawlSpider的使用——爬取内容写进MySQL
    异步代理池2--正确实现并发
    python asyncio异步代理池
    SSH 上传下载文件
    scrapy 自定义扩展
    scrapy pipelines 以及 cookies
    scrapy 去重策略修改
    提车注意事项
    mysql 笔记
  • 原文地址:https://www.cnblogs.com/shinianhuanniyijuhaojiubujian/p/7242981.html
Copyright © 2011-2022 走看看