Cod sursa(job #1375683)

Utilizator PaueyPaula Nicoleta Gradu Pauey Data 5 martie 2015 13:57:38
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <cmath>
#include <algorithm>
#include <fstream>
#include <iostream>
#include <stack>
using namespace std;

const int MAXN = 50005;

int s[MAXN];

stack<pair<int, int> > st;

int main()
{
    ifstream cin("stiva3.in");
    ofstream cout("stiva3.out");
    int N;
    cin >> N;
    for(int t = 1; t <= 5; ++t) {
        bool ok = 1;
        for(int i = 1; i <= N; ++i) {
            cin >> s[i];
            st.push(make_pair(s[i], s[i]));
            while(st.size() > 1) {
                pair<int, int> cur = st.top();
                st.pop();
                if(cur.second == (st.top()).first - 1)
                    (st.top).first = cur.first;
                else if(cur.first == (st.top()).second + 1)
                    (st.top).second = cur.second;
            }

        }
        /* set<int> s2;
        for(int i = 1; i < N; ++i) {
            for(int j = s[i] + 1; j < s[i + 1]; ++j)
                s2.insert(j);
        } */
        if(st.size() > 1)
            cout << 0 << '\n';
        else
            cout << 1 << '\n';
    }
    return 0;
}