Cod sursa(job #1318616)

Utilizator eneskristofjd hgd eneskristo Data 16 ianuarie 2015 10:19:42
Problema Hashuri Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 1.06 kb
#include <iostream>
#include <vector>
using namespace std;

vector<int> v[700000];
int k,p = 666103,a,q;
int b;
//
void insertElement(int f)
{
    for(int i = 0 ; i < v[q].size(); i++)
    {
        if(v[q][i] == f) return;
    }
    v[q].push_back(f);
}

bool isInSet(int f)
{
    for(int i = 0 ; i < v[q].size() ; i++)
        if(v[q][i] == f) return true;
    return false;
}

void erase_hash(int f)
{
    int lim = v[q].size();
    for(int i = 0 ; i < lim; i++)
    {
        if(v[q][i] == f)
        {
            v[q][i] = -1;
            return;
        }
    }
}

int main()
{

freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
    cin >> k;
    for(int i = 0 ; i < k; i++)
    {
        cin >> a >> b;
        q = b%p;


        if(a == 1)
        {
            insertElement(b);
        }
        if(a == 2)
        {
            erase_hash(b);
        }
        if(a == 3)
        {
            cout << (isInSet(b)) ? "1" : "0";
            cout << "\n";
        }
    }

    return 0;
}