Cod sursa(job #2797117)

Utilizator SeracovanuEdwardSeracovanu Edward SeracovanuEdward Data 9 noiembrie 2021 11:50:39
Problema Hashuri Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <bits/stdc++.h>
#define MOD 666013
using namespace std;
FILE *f=fopen("hashuri.in","r");
FILE *g=fopen("hashuri.out","w");
int n,x,op;
vector <int> A[MOD];
inline void adauga(int x){
int r=x%MOD;
A[r].push_back(x);
}
inline vector<int> ::iterator cautare(int x){
vector<int>::iterator it;
int r=x%MOD;
int lim=A[r].size();
for(it=A[r].begin();it!=A[r].end();it++)
    if(*it==x)
        return it;
return A[r].end();
}
inline void sterge(int x){
int r=x%MOD;
int lim=A[r].size();
vector <int> ::iterator it=cautare(x);
if(it!=A[r].end())
    A[r].erase(it);
}
int main()
{
    fscanf(f,"%d ",&n);
    for(int i=1;i<=n;i++){
        fscanf(f,"%d %d",&op,&x);
        if(op==1)
        adauga(x);
        else if(op==2)
                sterge(x);
                else fprintf(g,"%d\n",(cautare(x)!=A[x%MOD].end()?1:0));
    }
}