Cod sursa(job #2254505)

Utilizator CiotTudorCiot Tudor CiotTudor Data 5 octombrie 2018 14:53:50
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
#define P 123457
vector <int> h[P];
int N;
void Adauga(int x)
{
    int r;
    r=x%P;
    for(auto w:h[r])
        if(w==x) return;
    h[r].push_back(x);
}

int Cauta(int x)
{
    int r;
    r=x%P;
    for(auto v:h[r])
        if(v==x) return 1;
    return 0;
}

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

}
int main()
{
    int i, a, n;
    fin >> N;
    for(i=1; i<=N; i++)
    {
        fin >> a >> n;
        if(a==1) Adauga(n);
        else if(a==2) Sterge(n);
        else if(a==3) fout << Cauta(n) << "\n";
    }
    fin.close();
    fout.close();

    return 0;
}