Cod sursa(job #2885677)

Utilizator Tudose_StefanTudose Alexandru Stefan Tudose_Stefan Data 6 aprilie 2022 13:12:21
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.66 kb
#include <fstream>
#include <vector>
#include <iostream>

using namespace std;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

int nrteste, mod, operatie, clasa, nr, i;
bool gasit;
vector <int> hashh[666013];

int main()
{
    fin >> nrteste;
    mod = 666013;
    while (nrteste--)
    {
        fin >> operatie >> nr;
        clasa = nr % mod;
        if (operatie == 1)
        {
            if (hashh[clasa].size() == 0)
                hashh[clasa].push_back(nr);
            else
            {
                gasit = 0;
                for (i = 0; i < hashh[clasa].size(); i++)
                    if (hashh[clasa][i] == nr)
                    {
                        gasit = 1;
                        break;
                    }
                if (!gasit)
                    hashh[clasa].push_back(nr);
            }
        }
        if (operatie == 3)
        {
            gasit = 0;
            if (hashh[clasa].size() != 0)
                for (i = 0; i < hashh[clasa].size(); i++)
                    if (hashh[clasa][i] == nr)
                    {
                        gasit = 1;
                        fout << 1 << '\n';
                        break;
                    }
            if (gasit == 0)
                fout << 0 << '\n';
        }
        if (operatie == 2)
        {
            if (hashh[clasa].size() != 0)
                for (auto i = hashh[clasa].begin(); i < hashh[clasa].end(); i++)
                    if (*i == nr)
                    {
                        hashh[clasa].erase(i);
                        break;
                    }
        }
    }

    return 0;
}