Cod sursa(job #1701311)

Utilizator antanaAntonia Boca antana Data 12 mai 2016 19:01:31
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <cstdio>
#include<vector>
#define MOD 1000003
using namespace std;
vector<int>v[MOD];
inline int check(int x)
{
    int mod=x%MOD;
    for(int i=0;i<v[mod].size();++i)
        if(v[mod][i]==x)
            return 1;
    return 0;
}
inline void sterge(int x)
{
    int mod=x%MOD;
    vector<int>::iterator it;
    for(it=v[mod].begin();it!=v[mod].end();++it)
        if(*it == x){
            v[mod].erase(it);
            --it;
        }
}
inline void add(int x)
{
    int mod=x%MOD;
    if(!check(x))
        v[mod].push_back(x);
}
int main()
{
    freopen("hashuri.in", "r", stdin);
    freopen("hashuri.out", "w", stdout);
    int i, n, x, op;
    scanf("%d", &n);
    for(i=1;i<=n;i++)
    {
        scanf("%d%d", &op, &x);
        if(op==1)
            add(x);
        if(op==2)
            sterge(x);
        if(op==3)
            printf("%d\n", check(x));
    }
    return 0;
}