Cod sursa(job #2894860)

Utilizator CosminaBuruianaCosmina Buruiana CosminaBuruiana Data 28 aprilie 2022 14:49:54
Problema Hashuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.73 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

vector <int>h[666015];

int main()
{    ifstream f("hashuri.in");
     ofstream g("hashuri.out");
     int n, tip_op, elem, ok,ct,i,cst;
     cst=666013;
     f>>n;
    for(i=1;i<=n;i++)
    {
        f>>tip_op>>elem;

        if(tip_op==1)
        {   ct=elem%cst;
            ok=0;
            k=0;
            //verificam daca elementul citit este in multime
            while(unsigned k<h[ct].size())
               {
                  if(h[ct][k]==elem)
                {
                    ok=1;
                    break;
                }
                k++;
               }
            //daca elementul nu s-a gasit in multime, il adaugam in multime
            if(ok==0)
            {
                h[ct].push_back(elem);

            }

        }
        else

        if(tip_op==2)
        {   ct=elem%cst;
            k=0;
            //verificam daca elementul pe care dorim sa il stergem se gaseste in multime
            while(unsigned k<h[ct].size())
            {
                 if(h[ct][k]==elem)
                {

                    swap(h[ct][k],h[ct][h[ct].size()-1]);
                    h[ct].pop_back();
                    break;

                }
                k++;
            }

        }
        else
        if(tip_op==3)
        {   ct=elem%cst;
            ok=0;
            k=0;
            while(unsigned k<h[ct].size())
            {
                if(h[ct][k]==elem)
                {
                    ok=1;
                    break;
                }
                k++;
            }

            g<<ok<<"\n";
        }

    }

    return 0;
}