Cod sursa(job #2390397)

Utilizator StormieStormie Stormie Data 27 martie 2019 23:45:33
Problema Hashuri Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <iostream>
#include <fstream>
#include <vector>
#define MOD 666013

using namespace std;

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

vector <int> G[MOD];

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

void addHash(int x)
{
    if(findHash(x) == -1) G[x % MOD].push_back(x);
}

void deleteHash(int x)
{
    int location = findHash(x);
    if(location != -1) G[x % MOD].erase(G[x].begin() + location);
}

int main()
{
    int n;
    f >> n;
    while(n--)
    {
        int op, x;
        f >> op >> x;
        if(op == 1) addHash(x);
        else if(op == 2) deleteHash(x);
        else
        {
            int result = findHash(x);
            if(result == -1) g << 0 << '\n';
            else g << 1 << '\n';
        }
    }
    return 0;
}