Great Vova Wall (Version 2)
阿新 • • 發佈:2018-12-24
https://codeforces.com/contest/1092/problem/D2
/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> //#define DEBUG #define RI register int using namespace std; //typedef long long ll; //typedef __int128 lll; const int N=200000+1000; const int MOD=1e9+7; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; int t,n,m,k,Mx; int a[N],q[N],h[N],top; int main() { #ifdef DEBUG freopen("input.in", "r", stdin); //freopen("output.out", "w", stdout); #endif scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]);Mx=max(Mx,a[i]); q[++top]=a[i]; if(top>1&&q[top]==q[top-1]){ if(q[top]<h[top-1]) continue; top-=2,h[top]=q[top+1]; h[top+1]=0; h[top+2]=0; } } if(top==0||(top==1&&q[top]==Mx)) puts("YES"); else puts("NO"); //cout << "Hello world!" << endl; return 0; }