Cod sursa(job #1467265)

Utilizator linerunnerMihai Ion linerunner Data 3 august 2015 09:01:14
Problema Hashuri Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 1.09 kb
#include <iostream>
#include <fstream>
#include <list>
#define MAX 200000

using namespace std;

void adaugare(list <long long> *td, long long x)
{
    if ( td[x].empty() )
        td[x].push_back(x);
    else
        return;
}

void stergere(list <long long> *td, long long x)
{
    if ( !td[x].empty() )
        td[x].pop_back();
    else
        return;
}

int rezultat(list <long long> td[MAX], long long x)
{
    if ( td[x].front() == x )
        return 1;
    else
        return 0;
}

int main()
{

    ifstream input("hashuri.in");
    ofstream output("hashuri.out");

    int nr_operatii;
    input>>nr_operatii;

    list <long long> td[MAX];
    int i;

    for ( i = 0 ; i < nr_operatii ; i++ )
    {
        int cerinta;
        long long x;
        input>>cerinta>>x;
        if ( cerinta == 1 )
            adaugare(td, x);
        if ( cerinta == 2 )
            stergere(td, x);
        if ( cerinta == 3 )
        {
            int rez;
            rez = rezultat(td, x);
            output<<rez<<"\n";
        }
    }

    return 0;
}