Cod sursa(job #1350670)

Utilizator PaueyPaula Nicoleta Gradu Pauey Data 20 februarie 2015 21:38:56
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.96 kb
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;

const int MOD = 666013;

vector<int> H[MOD];

inline vector<int>:: iterator find_value(int x) {
   for(vector<int>:: iterator it = H[x % MOD].begin(); it != H[x % MOD].end(); ++it)
      if(*it == x)
         return it;
   return H[x % MOD].end();
}

inline void insert_value(int x) {
   if(find_value(x) == H[x % MOD].end())
      H[x % MOD].push_back(x);
}

inline void erase_value(int x) {
   vector<int>:: iterator it = find_value(x);
   if(it != H[x % MOD].end())
      H[x % MOD].erase(it);
}

int main()
{
    ifstream cin("hashuri.in");
    ofstream cout("hasuri.out");
    int N, op, x;
    cin >> N;
    for(int i = 1; i <= N; ++i) {
      cin >> op >> x;
      if(op == 1)
         insert_value(x);
      if(op == 2)
         erase_value(x);
      if(op == 3)
         cout << (find_value(x) != H[x % MOD].end()) << '\n';
    }
    return 0;
}