Cod sursa(job #1402764)

Utilizator Alexghita96Ghita Alexandru Alexghita96 Data 26 martie 2015 20:10:29
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.16 kb
#include <cstdio>
#include <vector>

#define MOD 666013

using namespace std;

int N, op, x;
vector <int> A[MOD];

vector <int> :: iterator pozitie(int x)
{
    int lista = x % MOD;
    vector <int> :: iterator it;

    for (it = A[lista].begin(); it != A[lista].end(); ++it)
    {
        if (*it == x)
            return it;
    }

    return A[lista].end();
}

int main()
{
    freopen("hashuri.in", "r", stdin);
    freopen("hashuri.out", "w", stdout);

    scanf("%d", &N);

    for (int i = 1; i <= N; ++i)
    {
        scanf("%d %d", &op, &x);

        if (op == 1)
        {
            int lista = x % MOD;
            if (pozitie(x) == A[lista].end())
                A[lista].push_back(x);
        }
        else if (op == 2)
        {
            int lista = x % MOD;
            vector <int> :: iterator it = pozitie(x);
            if (it != A[lista].end())
                A[lista].erase(it);
        }
        else if (op == 3)
        {
            int lista = x % MOD;
            if (pozitie(x) != A[lista].end())
                printf("1\n");
            else printf("0\n");
        }
    }

    return 0;
}