Friday, 25 September 2015

UVA 514 Rails (UVALive 5531, ZOJ 1259, POJ 1363, Regionals 1997 >> Europe - Central)

///     Raihan Ruhin
///     CSE, Jahangirnagar University.
///     Dhaka-Bangladesh.
///     id: raihanruhin (topcoder / codeforces / codechef / uva / uvalive / spoj), 3235 (lightoj)
///     mail: raihanruhin@ (yahoo / gmail / facebook)
///     blog: ruhinraihan.blogspot.com

#include<bits/stdc++.h>
using namespace std;

#define SET(a) memset(a,-1,sizeof(a))
#define CLR(a) memset(a,0,sizeof(a))
#define PI acos(-1.0)

#define MOD 1000000007
#define MX 100010


int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);
    int tc, kk=1, n, x;
    string s;
    char ch;
    while(cin>>n && n)
    {
        while(cin>>x && x)
        {
            stack<int>in;
            queue<int>out;
            int serial=1;
            for(int i=1;i<=n;i++)
            {
                if(i>1) cin>>x;
                out.push(x);
                in.push(i);

                while(!in.empty() && !out.empty() && in.top()==out.front())
                {
                    in.pop();
                    out.pop();
                }
            }
            if(in.empty()) cout<<"Yes\n";
            else cout<<"No\n";
        }
        cout <<"\n";
    }
return 0;
}

No comments:

Post a Comment