Cod sursa(job #1925866)

Utilizator Mstar_AngelComan Mara Stefania Mstar_Angel Data 13 martie 2017 19:39:54
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb
#include<stdio.h>
#include<vector>
#define MOD 666013
using namespace std;
vector <int> v[MOD];

vector<int>::iterator findx  (int x){
  int i;
  int zona;
  zona = x % MOD;
  for (vector<int>::iterator it = v[zona].begin();it != v[zona].end();it++)
    if (*it == x)
      return it;
  return v[zona].end();
}

void sterge (int x){
  int zona;
  zona = x % MOD;
  vector<int>::iterator it = findx(x);
    if (it != v[zona].end())
      v[zona].erase(it);
}

void adauga (int x){
  int zona;
  zona = x % MOD;
  if (findx (x) == v[zona].end())
    v[zona].push_back (x);
}

int main (){
  FILE *in,*out;
  in = fopen ("hashuri.in","r");
  out = fopen ("hashuri.out","w");
  int n,i,op,x;
  fscanf(in,"%d",&n);
  for (i=1;i<=n;i++){
    fscanf(in,"%d%d",&op,&x);
    if (op == 1){
      adauga (x);
    }
    else if (op == 2)
      sterge (x);
    else {
      if (findx (x) == v[x%MOD].end())
        fprintf (out,"0\n");
      else
        fprintf (out,"1\n");
    }
  }


  fclose (in);
  fclose (out);
  return 0;
}