Cod sursa(job #2200520)

Utilizator mlc_oficialBoris Barca mlc_oficial Data 1 mai 2018 17:22:58
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.47 kb
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
  
using namespace std;
  
typedef __gnu_pbds::gp_hash_table<int, __gnu_pbds::null_type> UnorderedSet;
typedef long long i64;

class Input {
  enum { SIZE = 1 << 14 };
public:
  Input() : ii(SIZE) {}
  char rchar() {
    if (ii == SIZE) { 
      ii = 0;
      int s = fread(in, 1, SIZE, stdin);
      if (s < SIZE) fill(in + s, in + SIZE, EOF);
    }
    return in[ii++];
  }
  int read_int() {
    char c;
    int ret = 0, sign = 0;
    while ((c = rchar()) < '-') if (c == EOF) return -1;
    if (c == '-') sign = 1;
    else ret = c - '0';
    while ((c = rchar()) >= '0') ret = ret * 10 + c - '0';
    return sign ? -ret : ret;
  }
  i64 read_i64() {
    char c;
    i64 ret = 0;
    while ((c = rchar()) < '0');
    ret = c - '0';
    while ((c = rchar()) >= '0') ret = ret * 10 + c - '0';
    return ret;
  }
  int ii;
  char in[SIZE];
} input;

int main() {
#ifdef INFOARENA
    freopen("hashuri.in", "r", stdin);
    freopen("hashuri.out", "w", stdout);
#endif
    UnorderedSet s;
    int num_queries = input.read_int();
      
    while (num_queries--) {
        int query_type = input.read_int(), el = input.read_int();
        if (query_type == 1) {
            s.insert(el);
        } else if (query_type == 2) {
            s.erase(el);
        } else {
            putchar((s.find(el) != s.end()) + '0');
            putchar('\n');
        }
    }
  
    return 0;
}