Cod sursa(job #1573013)

Utilizator CraiuAndrei Craiu Craiu Data 19 ianuarie 2016 11:56:45
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.02 kb
#include <bits/stdc++.h>
#define P 123457

using namespace std;

vector <int> h[P];
int n;

void inserare(int x)
{
    int r, i, L;
    r = x % P;
    L = h[r].size();
    for(i = 0; i < L; i++)
        if(h[r][i] == x)
            return;
    h[r].push_back(x);
}

void sterge(int x)
{
    int r, L, i;
    r = x % P;
    L = h[r].size();
    for(i = 0; i < L; i++)
        if(h[r][i] == x)
        {
            h[r][i] = h[r][L - 1];
            h[r].pop_back();
        }
}

bool verifica(int x)
{
    int r, L, i;
    r = x % P;
    L = h[r].size();
    for(i = 0; i < L; i++)
        if(h[r][i] == x)
            return true;
    return false;
}

int main()
{
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");
    int i, x, q;
    fin >> n;
    for(i = 1; i <= n; i++)
    {
        fin >> q >> x;
        if(q == 1) inserare(x);
        else if(q == 2) sterge(x);
        else fout << verifica(x) <<"\n";
    }
    fin.close();
    fout.close();
    return 0;
}