Cod sursa(job #1520881)

Utilizator jason2013Andronache Riccardo jason2013 Data 9 noiembrie 2015 17:38:05
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <bits/stdc++.h>

using namespace std;

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

const int MOD = 666013;
vector <int> Hash[MOD];

int Query(int x){
    int line = x % MOD;
    for(int i = 0; i < Hash[line].size(); i++)
        if(Hash[line][i] == x) return 1;
    return 0;
}

void Delete(int x){
    int line = x % MOD;
    for(int i = 0; i < Hash[line].size(); i++)
    if(Hash[line][i] == x){
        Hash[line].erase(Hash[line].begin() + i);
        return;
    }
}

void Insert(int x){
    int line = x%MOD;
    if(Query(x) == 0)
        Hash[line].push_back(x);
}

int main()
{
    int n,type,x;
    fin>>n;
    for(int i = 1; i <=n; i++){
        fin>>type>>x;
        switch(type){
        case 1: Insert(x); break;
        case 2: Delete(x); break;
        case 3: fout<<Query(x)<<"\n"; break;
        }
    }
    return 0;
}