Cod sursa(job #2702699)

Utilizator MateGMGozner Mate MateGM Data 5 februarie 2021 15:39:52
Problema Hashuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.05 kb
#include <fstream>
#include <vector>
using namespace std;


#define MOD  914239

vector<int> ::iterator find(int x,vector<vector<int> >&has)
{
    vector<int> :: iterator it;
    int list=x%MOD;
    for(it=has[list].begin();it!=has[list].end();it++)
        if(*it==x)return it;
    return has[list].end();
}

void add(int x,vector<vector<int> >&has)
{
    int list=x%MOD;
    if(find(x,has)==has[list].end())
        has[list].emplace_back(x);
}

int del(int x,vector<vector<int> >&has)
{
    int list = x % MOD;
    vector<int>::iterator it;
    it = find(x,has);
    if (it != has[list].end())
        has[list].erase(it);
}

int main()
{
    ifstream be("hashuri.in");
    ofstream ki("hashuri.out");
    int n,db=0;
    be>>n;
    vector<vector<int> >has(n+1);
    for(int i=1;i<=n;i++)
    {
        int x,y;
        be>>x>>y;
        if(x==1 ){
            find(y,has);
        }
        if(x==2)del(y,has);
        if(x==3)
        {
            ki<<(find(y,has)!=has[y].end())<<endl;
        }
    }
    return 0;
}