Cod sursa(job #808426)

Utilizator BalcauIonutFMI-Balcau Ionut BalcauIonut Data 6 noiembrie 2012 19:28:13
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include<iostream>
#include<vector>
#include<fstream>

#define MOD 666013
using namespace std;

vector<int> h[MOD];

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



void insert(int x){
    int r=x%MOD;
    if(find(x)==h[r].end())
        h[r].push_back(x);
}


void del(int x){
    int r=x%MOD;
    vector<int>::iterator it=find(x);
    if(it!=h[r].end())
        h[r].erase(it);
}


int main(){
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");

    int n,i,op,x;
    fin>>n;
    for(i=1;i<=n;++i){
        fin>>op>>x;
        switch(op){
        case 1 : insert(x); break;
        case 2 : del(x); break;
        case 3 : fout<<( find(x)!=h[x%MOD].end() ? 1:0 )<<'\n';
        }
    }
    fin.close();
    fout.close();
    return 0;
}