Cod sursa(job #990262)

Utilizator gbi250Gabriela Moldovan gbi250 Data 27 august 2013 20:11:39
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <cstdio>
#include <vector>
#define MOD 666013

using namespace std;

int op, val, n, i;
vector <int> v[MOD];

inline vector <int> :: iterator find_val(int x)
{
    for(vector <int> :: iterator it=v[x%MOD].begin(); it!=v[x%MOD].end(); ++it)
        if(x == *it)
            return it;
    return v[x%MOD].end();
}

inline void insert_val(int x)
{
    v[x%MOD].push_back(x);
}

inline void remove_val(int x)
{
    vector <int> :: iterator it=find_val(x);
    if(it!=v[x%MOD].end())
        v[x%MOD].erase(it);
}

int main()
{
    freopen("hasuri.in", "r", stdin);
    freopen("hasuri.out", "w", stdout);
    scanf("%d", &n);
    for(i=1;i<=n;++i)
    {
        scanf("%d %d", &op, &val);
        if(op==1 && find_val(val)==v[val%MOD].end())
            insert_val(val);
        else if(op==2)
            remove_val(val);
        else
            printf("%d\n", find_val(val)!=v[val%MOD].end());
    }
    return 0;
}