Cod sursa(job #828839)

Utilizator davidoceaSintamarian David davidocea Data 4 decembrie 2012 15:36:46
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <cstdio>
#include <vector>
#define p 666013
using namespace std;
vector<int> f[p];
int find(int x){
    for(vector<int>::iterator it=f[x%p].begin();it!=f[x%p].end();++it){
        if(x==*it) return 1;
    }
    return 0;
}
void scoate(int x){
    for(vector<int>::iterator it=f[x%p].begin();it!=f[x%p].end();++it){
        if(x==*it) {
            f[x%p].erase(it);
            break;
        }
    }
}
int main () {
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
    int n,i,op,x;
    scanf("%d",&n);
    for(i=1;i<=n;++i){
        scanf("%d %d",&op,&x);
        if (op==1){
            if(find(x)==0) f[x%p].push_back(x);
        }
        else if (op==2){scoate(x);}
        else printf("%d\n",find(x));
    }
    return 0;
}