Cod sursa(job #2745094)

Utilizator mvoineaVoinea Mihai-Alexandru mvoinea Data 25 aprilie 2021 20:56:35
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.01 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream input("hashuri.in");
ofstream output("hashuri.out");

#define PRIME 49157

int main() {
  int n;
  short int op;
  long el;
  vector<long> v[PRIME];
  input >> n;
  for (int i = 0; i < n; i++) {
    input >> op >> el;
    switch (op) {
      // Add
      case 1: {
        v[el % PRIME].push_back(el);
        break;
      }

      // Delete
      case 2: {
        vector<long>::iterator i;
        for (vector<long>::iterator i = v[el % PRIME].begin(); i != v[el % PRIME].end(); i++) {
          if (*i == el && i != v[el % PRIME].end()) {
            v[el % PRIME].erase(i);
            break;
          }
        }
        break;
      }

      // Exists
      case 3: {
        [&] {
          for (auto i : v[el % PRIME]) {
            if (i == el) {
              output << 1 << "\n";
              return;
            }
          }
        output << 0 << "\n";
        }();
        break;
      }
    }
  }

  input.close();
  output.close();
  return 0;
}