Cod sursa(job #1332202)

Utilizator adria123Adria Marin adria123 Data 1 februarie 2015 20:03:47
Problema Hashuri Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
  vector<long> v[666011];
  vector<long>::iterator it;
long nmax=666011;
void adaug(long x)
{
    v[x%nmax].push_back(x);
}
long exista(long x)
{
    long i;
    if  (v[x%nmax].size()==0) return 0;

    it=v[x%nmax].begin();
    while (it!=v[x%nmax].end() && *it!=x)it++;
    if (*it==x) return it-v[x%nmax].begin()+1;
    else return 0;
}
void sterge(long x)
{
    long i;
    i=exista(x);
    if (i)
       v[x%nmax].erase( v[x%nmax].begin()+i-1);
}
int main()
{long n,i,op,x;
   f>>n;
   for(i=1;i<=n;i++)
   {
       f>>op>>x;

       if (op==1)
        adaug(x);
       else if(op==2)


          sterge(x);
          else  if(exista(x)) g<<1<<endl;
         else g<<0<<endl;


   }
   g.close();
    return 0;
}