Cod sursa(job #3129878)

Utilizator dandragosDan Dragos dandragos Data 16 mai 2023 06:02:10
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.37 kb
#include <iostream>
#include <fstream>
#include <vector>

std::ifstream f("hashuri.in");
std::ofstream g("hashuri.out");
#define P 666013

std::vector<int> V[P];

std::vector<int>::iterator findValue(int x)
{
    int mod;
    mod = x % P;

    std::vector<int>::iterator ptr;

    for (ptr = V[mod].begin(); ptr != V[mod].end(); ptr++)
    {
        if (*ptr == x)
        {
            return ptr;
        }
    }
    return V[mod].end();
}

void insertValue(int x)
{
    int mod;
    mod = x % P;
    if (findValue(x) == V[mod].end())
    {
        V[mod].push_back(x);
    }
}

void eraseValue(int x)
{
    int mod;
    mod = x % P;
    if (findValue(x) != V[mod].end())
    {
        V[mod].erase(findValue(x));
    }
}

int verifyValue(int x)
{
    int mod;
    mod = x % P;
    if (findValue(x) == V[mod].end())
    {
        return 0;
    }
    return 1;
}

int main()
{
    int n, x, op;
    f >> n;
    while (n != 0)
    {
        f >> op >> x;
        if (op == 1)
        {
            insertValue(x);
            std::cout << "in ";
        }
        else if (op == 2)
        {
            eraseValue(x);
            std::cout << "er ";
        }
        else if (op == 3)
        {
            g << verifyValue(x) << "\n";
            std::cout << "ver ";
        }
        n--;
    }

    return 0;
}