Cod sursa(job #2396203)

Utilizator dobrandreiAndrei Dobra dobrandrei Data 3 aprilie 2019 12:00:18
Problema Hashuri Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <stdio.h>
#include <vector>
#define mod 666013
using namespace std;
FILE *in,*out;

vector <int> v[mod];

int search(int x){
  for(auto &y:v[x%mod])
    if(y==x)
      return 1;
  return 0;
}

void add(int x){
  if(!search(x))
    v[x%mod].push_back(x);
}

void erase_val(int x){
    for(auto y:v[x%mod])
      if(y==x){
        swap(y,v[x%mod].back());
        v[x%mod].pop_back();
        return;
      }

}

void solve(){
  int op,x,n;
  fscanf(in,"%d",&n);
  while(n--){
    fscanf(in,"%d %d",&op,&x);
    if(op==1)
      add(x);
    else if(op==2){
      erase_val(x);
    }
    else
      fprintf(out,"%d\n",search(x));

  }

}
int main(){
    in=fopen("hashuri.in","r");
    out=fopen("hashuri.out","w");
    solve();
    return 0;
}