Cod sursa(job #1613253)

Utilizator EdyOnuEdy Onu EdyOnu Data 25 februarie 2016 11:49:51
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include <iostream>
#include <cstdio>
#include <vector>
#define MOD 670000
using namespace std;
vector <long> H[MOD];
int N,op;
long val;
vector<long>::iterator Found(int x)
{int Key=x%MOD;
 vector<long>::iterator it;
 for(it=H[Key].begin();it!=H[Key].end();++it)if(*it==x)return it;
 return H[Key].end();
}
void ReadData()
{FILE *fin=fopen("hashuri.in","r");
 FILE *fout=fopen("hashuri.out","w");
 fscanf(fin,"%d",&N);
 for(int i=1;i<=N;++i)
 {fscanf(fin,"%d%d",&op,&val);
   switch(op)
    {case 1:{
      if(Found(val)==H[val%MOD].end())H[val%MOD].push_back(val);
      break;
     }
     case 2:
        {vector<long>::iterator it=Found(val);
         if(it!=H[val%MOD].end())H[val%MOD].erase(it);
         break;
        }
     case 3:
     {if(Found(val)!=H[val%MOD].end())fprintf(fout,"%d\n",1);
      else fprintf(fout,"%d\n",0);
       break;
     }
    }
 }
}
int main()
{ReadData();
 return 0;
}