Cod sursa(job #1700314)

Utilizator VladTiberiuMihailescu Vlad Tiberiu VladTiberiu Data 9 mai 2016 23:56:52
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.04 kb
#include <bits/stdc++.h>

#define NMax 1000002
#define key 666013
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");

int n,p,x;
vector<int> l[NMax];

void add(int x){
    int nr = x % key;
    for(int i = 0; i < l[nr].size(); ++i)
        if(l[nr][i] == x)
            return;
    l[nr].push_back(x);
}
void remove(int x){
    int nr = x % key;
    for(int i = 0; i < l[nr].size(); ++i)
        if(l[nr][i] == x){
            l[nr].erase(l[nr].begin() + i);
            return;
        }
}
bool query(int x){
    int nr = x % key;
    for(int i = 0; i < l[nr].size(); ++i){
        if(l[nr][i] == x){
            return 1;
        }
    }
    return 0;
}
int main()
{
    f >> n;
    for(int i = 1; i <= n; ++i){
        f >> p >> x;
        if(p == 1){
            add(x);
            continue;
        }
        if(p == 2){
            remove(x);
            continue;
        }
        if(p == 3){
            g << query(x) << '\n';
            continue;
        }
    }
    return 0;
}