Codeforces Global Round 9 C.Element Extermination(思维)

地址:http://codeforces.com/contest/1375/problem/C

题意:

1~n的全排列。

操作:对i,如果存在ai<ai+1,可移除它俩的任意一个。

问是否能让数组只剩一个数。

解析:

移除的过程,是不会改变整体的顺序,所以从首尾入手。

规定a1<an

a1~~an

对于它们之间的数:

大于an的,一定也大于a1,所以可以通过a1来统统消掉。

小于an的,均可以通过an来消掉。

最终只会剩a1,an。所以这是一个可行的推断。

#include<cstdio>
#include<map>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn=111+10;
int main()
{    // 4 0 20
    int t;
    cin>>t;
    while(t--)
    {
        int n;
        cin>>n;
        int a,b;
        int x;
        for(int i=1;i<=n;i++)
        {
            cin>>x;
            if(i==1)
                a=x;
            if(i==n)
                b=x;
        }
        if(a<b)
            cout<<"YES"<<endl;
        else
            cout<<"NO"<<endl;
    }
}
原文地址:https://www.cnblogs.com/liyexin/p/13252617.html