Cod sursa(job #2939040)

Utilizator EasyTnsEasyTns EasyTns Data 12 noiembrie 2022 21:42:15
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include<fstream>
#include<cmath>
#include<vector>
#define P 999023
#define pb push_back
//#include<iostream>
using namespace std;
ifstream cin("hashuri.in");
ofstream cout("hashuri.out");
vector<int> h[P];
void adaugare(int x)
{
    int r=x%P;
    h[r].pb(x);
}
int cautare(int x)
{
    int r = x % P;
    unsigned i, L;
    L = h[r].size();
    for (i = 0; i < L; i++)
        if (h[r][i] == x)
        {
            return 1;
        }
    return 0;
}
void eliminare(int x)
{
    int r = x % P;
    unsigned i, L;
    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();
            return;
        }
}
int main()
{
int n,x,y;
cin>>n;
for(;n;n--)
{
    cin>>x>>y;
    if(x==1)
        adaugare(y);
    else
        if(x==2)
            eliminare(y);
        else
            cout<<cautare(y)<<'\n';
}
}