Cod sursa(job #1520872)

Utilizator redducks100Andronache Simone redducks100 Data 9 noiembrie 2015 17:34:29
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.02 kb
#include <bits/stdc++.h>

using namespace std;

#define MOD 666013
vector<int> HASH[MOD];

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

int hash_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 hash_insert(int x)
{
    int line = x%MOD;
    if(hash_query(x)==0)
        HASH[line].push_back(x);
}

void hash_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:
            hash_insert(x);
            break;
        case 2:
            hash_delete(x);
            break;
        case 3:
            g<<hash_query(x)<<"\n";
            break;
        }
    }
    return 0;
}