Cod sursa(job #2303076)

Utilizator Groza_Iulia_DianaGroza Iulia Diana Groza_Iulia_Diana Data 15 decembrie 2018 15:43:11
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.05 kb
#include <bits/stdc++.h>

using namespace std;

int n, nr, x, y;
const int p=666013;

vector<int> C[p];

vector<int>::iterator find_value(int x)
{
    vector<int>::iterator it;
    for(it=C[x%p].begin(); it!=C[x%p].end(); it++)
        if(*it==x)
            return it;
    return C[x%p].end();
}

void insert_value(int x)
{
    if(find_value(x)==C[x%p].end())
                    C[x%p].push_back(y);
}

void erase_value(int x)
{
    vector<int>::iterator it = find_value(x);
    if(it!=C[x%p].end())
                    C[x%p].erase(it);
}

int main()
{
    freopen("hashuri.in", "r", stdin);
    freopen("hashuri.out", "w", stdout);
    scanf("%d", &n);
    while(n--)
    {
        scanf("%d%d", &x, &y);
        switch(x)
        {
            case 1:
                insert_value(y);
                break;
            case 2:
                erase_value(y);
                break;
            case 3:
                printf("%d\n", find_value(y)!=C[y%p].end());
                break;
        }
    }
    return 0;
}