Cod sursa(job #1520892)

Utilizator samyfilipSami Filip samyfilip Data 9 noiembrie 2015 17:42:36
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.04 kb
#include <bits/stdc++.h>

using namespace std;

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

ifstream f("hashuri.in");
ofstream g("hashuri.out");

int Querry(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 Insert(int x)
{
    int line = x%MOD;
    if(Querry(x) == 0)
        Hash[line].push_back(x);

}

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;
        }
    }
}

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