1045

// PATn.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>



using namespace std;

inline bool check(size_t m, size_t n, vector<long long> &tmp,long long num,bool right_or_left)
{
    for (size_t i = m; i < n; ++i)
    {
        if (right_or_left)
        {
            if (tmp[i] < num)
                return false;
        }
        else
        {
            if (tmp[i] > num)
                return false;
        }
    }

    return true;
}


int main()
{
    unsigned n;
    cin >> n;


    vector<long long> list_number;
    long long tmp;
    for (unsigned i = 0; i < n; ++i)
    {
        cin >> tmp;
        list_number.push_back(tmp);
    }


    vector<long long> zhuyuan;
    for (size_t i = 0; i < n; ++i)
    {
        if (check(0, i, list_number, list_number[i], false) && check(i + 1, n, list_number, list_number[i], true))
            zhuyuan.push_back(list_number[i]);
    }

    sort(zhuyuan.begin(), zhuyuan.end());

    if (zhuyuan.size() > 0)
    {
        cout << zhuyuan.size() << endl;

        for (size_t i = 0; i < zhuyuan.size(); ++i)
        {
            cout << zhuyuan[i];
            if ((zhuyuan.size() - 1) != i)
                cout << " ";
        }
    }

    system("pause");
    return 0;
}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容