Cod sursa(job #1407263)

Utilizator Alexghita96Ghita Alexandru Alexghita96 Data 29 martie 2015 18:24:58
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.17 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;
}