Cod sursa(job #2378623)

Utilizator StefanIonescuStefan Ionescu StefanIonescu Data 12 martie 2019 14:55:03
Problema Hashuri Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 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];
bool 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 1;
  return 0;
}
void stergere(int x)
{
   list <int>  :: iterator i;
   if(cautare(x)==1)
   {
      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)==0)
      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)
        {
           out<<cautare(b)<<"\n";
        }
     }
}