Cod sursa(job #1911679)

Utilizator loo_k01Luca Silviu Catalin loo_k01 Data 7 martie 2017 21:23:53
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <bits/stdc++.h>
#define P 123457

using namespace std;
vector <int> h[P];
int n;

void Adauga(int x)
{
    int r;
    r = x % P;
    h[r].push_back(x);
}

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

void Sterge(int x)
{
    int r, i, lg;
    r = x % P;
    lg = h[r].size();

    for(i = 0; i < lg; i++)
        if(h[r][i] == x)
            {
                h[r][i] = h[r].back();
                h[r].pop_back();
                return;
            }
}

int main()
{
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");
    fin >> n;

    int i, op, x;

    for(i = 1; i <= n; i++)
    {
        fin >> op >> x;
        if(op == 1) Adauga(x);
        if(op == 2) Sterge(x);
        if(op == 3) fout << Cauta(x) << "\n";
    }
    return 0;
}