Cod sursa(job #1520880)

Utilizator shpincCandrea Laurentiu Vasile shpinc Data 9 noiembrie 2015 17:38:01
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");

const int MOD = 666013;

vector < int > Hash[MOD];

bool Query(int x){

    int line = x % MOD;
    for(int i = 0; i < Hash[line].size(); i++){
        if(Hash[line][i] == x) return 1;
    }
    return 0;

}
void Insert(int x){

    int line = x % MOD;
    if(Query(x) == 0){
        Hash[line].push_back(x);
    }

}
void Delete(int x){

    int line = x % MOD;
    for(int i = 0; i < Hash[line].size(); i++){
        if(Hash[line][i] == x)
            Hash[line].erase(Hash[line].begin() + i);
            return;
    }

}
int main()
{
    int n,type,x;
    f>>n;
    for(int i=1;i<=n;i++){
        f>>type>>x;
        switch(type){
            case 1: Insert(x);break;
            case 2: Delete(x);break;
            case 3: g<< Query(x)<<"\n"; break;

        }
    }

    return 0;
}