Cod sursa(job #1964357)

Utilizator TimoteiCopaciu Timotei Timotei Data 13 aprilie 2017 13:08:36
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <iostream>
#include <fstream>
#include <vector>
#define mod 11311
#define FOR(i, x, y) for(int i = x; i <= y; ++i)
#define pb(x) push_back(x)
using namespace std;
vector <int> v[mod + 2];
void sterge(int x)
{
    int p = -1;
    if(v[x % mod].size() != 0)
    FOR(i, 0, v[x % mod].size() - 1)
       if(v[x % mod][i] == x){
        p = i;
        break;
       }
    if(p != -1) v[x % mod].erase(v[x % mod].begin() + p);
}
int gaseste(int x)
{
    if(v[x % mod].size() != 0)
     FOR(i, 0, v[x % mod].size() - 1)
       if(v[x % mod][i] == x) return 1;
    return 0;
}
int main()
{
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");
    int n, q, x;
    fin >> n;
    FOR(i, 1, n){
      fin >> q >> x;
      if(q == 1 && !gaseste(x)) v[x % mod].pb(x);
      if(q == 2) sterge(x);
      if(q == 3)
        fout << gaseste(x) << '\n';
    }
    return 0;
}