Cod sursa(job #2378630)

Utilizator StefanIonescuStefan Ionescu StefanIonescu Data 12 martie 2019 14:58:29
Problema Hashuri Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.1 kb
#include <iostream>
#include <fstream>
#include <cstring>
#include <list>

using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
const int PRIM=78539;
list <int>V[PRIM];
list <int> :: iterator cautare(int x)
{
   int lista=x%PRIM;
   list <int> :: iterator i;
   for(i=V[lista].begin();i!=V[lista].end();++i)
      if(*i==x)
        return i;
  return V[lista].end();
}
void stergere(int x)
{
   list <int>  :: iterator i;
   if(cautare(x)!=V[x%PRIM].end())
   {
      int lista=x%PRIM;
      for(i=V[lista].begin();i!=V[lista].end();++i)
        if(*i==x)
        {
          V[lista].erase(i);
          break;
        }

   }

}
void insert_value(int x)
{
   if(cautare(x)==V[x%PRIM].end())
      V[x%PRIM].push_back(x);
}
int main()
{
     int n,a,b;
     in>>n;
     for(int i=0;i<n;i++)
     {
        in>>a>>b;
        if(a==1)
        {
           insert_value(b);
        }
        if(a==2)
        {
           stergere(b);
        }
        if(a==3)
        {
          if(cautare(b)!=V[b%PRIM].end())
             out<<"1"<<"\n";
          else
             out<<"0"<<"\n";
        }
     }
}