Cod sursa(job #2743523)

Utilizator asdfsfafafafafafafafaJarca Andrei asdfsfafafafafafafafa Data 23 aprilie 2021 10:14:06
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.03 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
#include <vector>
vector <int> hashs[666013];
int getHash(int x)
{
    return x%666013;
}
int get(int x)
{
    if(hashs[x%666013].size()==0)
        return 0;
    else
        for(int i=0;i<hashs[x%666013].size();i++)
            if(hashs[x%666013][i]==x)
                return 1;
    return 0;
}
void add(int x)
{
    int val=getHash(x);
    if(get(x)==0)
        hashs[val].push_back(x);
}
void deleteq(int x)
{
    if(get(x)==1)
        for(int i=0;i<hashs[x%666013].size();i++)
            if(hashs[x%666013][i]==x)
            {
                swap(hashs[x%666013][i],hashs[x%666013].back());
                hashs[x%666013].pop_back();
            }
}
int main()
{
    int n;
    f>>n;
    for(int i=0;i<n;i++)
    {
        int l,r;
        f>>l>>r;
        if(l==1)
            add(r);
        else if(l==2)
            deleteq(r);
        else
            g<<get(r)<<"\n";
    }
}