Cod sursa(job #951536)

Utilizator nparfene2004Parfene Narcis nparfene2004 Data 20 mai 2013 20:59:36
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.02 kb
#include <stdio.h>
#include <vector>
 
using namespace std;
#define MOD 100003
 
int N;
vector<int> G[MOD];
 
inline vector<int>::iterator Cauta(int x)
{
    int k = x % MOD;
    vector<int>::iterator it;
 
    for (it = G[k].begin(); it != G[k].end(); ++it)
        if (*it == x)
            return it;
    return G[k].end();
}
 
inline void Insereaza(int x)
{
    int k = x % MOD;    
    if (Cauta(x) == G[k].end())
        G[k].push_back(x);
}
 
inline void Sterge(int x)
{
    int k = x % MOD;
    vector<int>::iterator it = Cauta(x);
     
    if (it != G[k].end())
        G[k].erase(it);
}
 
int main()
{
    int op, x;
     
    freopen("hashuri.in", "r", stdin);
    freopen("hashuri.out", "w", stdout);
    scanf("%d", &N);
    for (; N; --N)
    {
        scanf("%d %d", &op, &x);
        if (op == 1) // inserare
            Insereaza(x);
        if (op == 2) // stergere
            Sterge(x);
        else printf("%d\n", Cauta(x) != G[x % MOD].end());
    }
 
    return 0;
}