Cod sursa(job #2745844)

Utilizator Virgil993Virgil Turcu Virgil993 Data 27 aprilie 2021 01:02:24
Problema Hashuri Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.05 kb
#include <iostream>
#include<bits/stdc++.h>
#include<fstream>
#include<vector>

using namespace std;
#define nr_prim 666013

ifstream f("hashuri.in");
ofstream g("hashuri.out");

vector<int> v[nr_prim];

int cauta(int x)
{
    int nr = x % nr_prim;
    int lg = v[nr].size();
    for(int i =0;i<lg;i++)
        if(v[nr][i] == x)
            return i;
    return -1;
}
void adauga(int x)
{
    int nr = x % nr_prim;
    if(cauta(x)==-1)
        v[nr].push_back(x);
}
void sterge(int x)
{
    int nr = x % nr_prim;
    int lg = v[nr].size();
    int i = cauta(x);
    if(i != -1)
    {
        v[nr][i] = v[nr][lg-1];
        v[nr].pop_back();
    }

}
void afiseaza(int x)
{
    if(cauta(x) == -1)
        g<<0<<endl;
    else
        g<<1<<endl;
}



int main()
{
    int n,k,nr;
    f>>n;
    for(int i=0;i<n;i++)
    {
        f>>k;
        f>>nr;
        if(k == 1)
            adauga(nr);
        else if(k==2)
            sterge(nr);
        else
            afiseaza(nr);
    }




    return 0;
}