Cod sursa(job #2731218)

Utilizator PopescuMihneaPopescu Mihnea-Valentin PopescuMihnea Data 27 martie 2021 15:49:14
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.4 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <list>
using namespace std;

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


int main()
{
    int N,i,op,nr;
    const int hashnr=666013;
    bool ok;
    vector <list<unsigned>> hashuri(hashnr);
    f>>N;
    for (i=0; i<N; i++)
    {
        f>>op>>nr;
        if (op==1)
        {
            ok=true;
            for (std::list<unsigned>::iterator it=hashuri[nr%hashnr].begin(); it!=hashuri[nr%hashnr].end(); ++it)
                if (*it==nr)
                {
                    ok=false;
                    break;
                }
            if (ok)
                hashuri[nr%hashnr].push_back(nr);
        }
        else if (op==2)
        {
            for (std::list<unsigned>::iterator it=hashuri[nr%hashnr].begin(); it!=hashuri[nr%hashnr].end(); ++it)
                if (*it==nr)
                {
                    hashuri[nr%hashnr].erase(it);
                    break;
                }
        }
        else
        {
            ok=false;
            for (std::list<unsigned>::iterator it=hashuri[nr%hashnr].begin(); it!=hashuri[nr%hashnr].end(); ++it)
                if (*it==nr)
                {
                    g<<1<<"\n";
                    ok=true;
                    break;
                }
            if (!ok)
                g<<0<<"\n";
        }
    }
}