Cod sursa(job #1712932)

Utilizator andreiskiorAndrei Cristian Nastase andreiskior Data 4 iunie 2016 12:08:30
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.51 kb
#include <stdio.h>
#include <vector>
#define MOD 66013

using std::vector;

vector <int> h[66013];
vector <int> :: iterator iter;

int main()
{
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
    int poz;
    int n,i,j;
    int mod,nr,bam;
    scanf("%d",&n);
    for(i = 1; i <= n; ++i)
    {
        scanf("%d %d",&mod,&nr);
        bam = 1;
        poz = nr % MOD;
        iter = h[poz].begin();
        if(mod == 1)
        {
            while(iter != h[poz].end() && bam)
            {
                if(*iter == nr)
                    bam = 0;
                else
                    ++iter;
            }
            if(bam)
                h[poz].push_back(nr);
        }
        else
            if(mod == 2)
            {
                while(iter != h[poz].end() && bam)
                {
                    if(*iter == nr)
                        bam = 0;
                    else
                        ++iter;
                }
                if(!bam)
                    h[poz].erase(iter);
            }
            else
            {
                while(iter != h[poz].end() && bam)
                {
                    if(*iter == nr)
                    {
                        printf("1\n");
                        bam = 0;
                    }
                    else
                        ++iter;
                }
                if(bam)
                    printf("0\n");
            }
    }
    return 0;
}