Cod sursa(job #1318576)

Utilizator eneskristofjd hgd eneskristo Data 16 ianuarie 2015 09:50:52
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.09 kb
#include <bits/stdc++.h>
using namespace std;

vector< vector<long long> > v;
int k,p = 666103,a,q;
long long b;

void insertElement(long long f)
{
    for(int i = 0 ; i < v[q].size(); i++)
    {
        if(v[q][i] == f) return;
    }
    v[q].push_back(f);
}

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


int main()
{

freopen("hasuri.in", "r", stdin);
freopen("hasuri.out", "w", stdout);
    v.resize((2e9/p) + 1);
    cin >> k;
    for(int i = 0 ; i < k; i++)
    {
        cin >> a >> b;
        q = b%p;


        if(a == 1)
        {
            insertElement(b);
        }

        if(a == 2)
        {
            for(int i = 0 ; i < v[q].size() ; i ++)
            {
                if(v[q][i] == b)
                {
                    swap(v[q][i], v[q][v[q].size()-1]);
                    v[q].pop_back();
                }
            }
        }
        if(a == 3)
        {
            cout << (isInSet(b)) ? "1\n" : "0\n";
        }
    }

    return 0;
}