Cod sursa(job #1811954)

Utilizator BovisioNitica Ionut Bogdan Bovisio Data 21 noiembrie 2016 18:52:36
Problema Hashuri Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 1.11 kb
#include <cstdio>

using namespace std;

int n,o[1000000],m[1000000];
int a[1000000],an;

void Read()
{
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
    scanf("%i",&n);
    for(int i=1;i<=n;i++)
        scanf("%i %i",&o[i],&m[i]);
}

bool Verificare(int x)
{
    for(int i=1;i<=an;i++)
        if(a[i]==x)
            return true;
    return false;
}

void Stergere(int x)
{
    int i=1;
    do
    {
        i++;
    }
    while(a[i]!=a[x]);
    for(i;i<an;i++)
    {
        a[i]=a[i+1];
    }
    an--;
}

int main()
{
    Read();
    for(int i=1;i<=n;i++)
    {
        switch(o[i])
        {
        case 1:
            if(Verificare(m[i])!=true)
            {
                an++;
                a[an]=m[i];
            }
            break;
        case 2:
            if(Verificare(m[i])==true)
                Stergere(m[i]);
            break;
        case 3:
            if(Verificare(m[i])==true)
                printf("1\n");
            else
                printf("0\n");
            break;
        }
    }
    return 0;
}