Pagini recente » Cod sursa (job #2745833) | Diferente pentru problema/superbec intre reviziile 3 si 4 | Cod sursa (job #2745815) | Cod sursa (job #2969068) | Cod sursa (job #2745844)
#include <iostream>
#include<bits/stdc++.h>
#include<fstream>
#include<vector>
using namespace std;
#define nr_prim 666013
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector<int> v[nr_prim];
int cauta(int x)
{
int nr = x % nr_prim;
int lg = v[nr].size();
for(int i =0;i<lg;i++)
if(v[nr][i] == x)
return i;
return -1;
}
void adauga(int x)
{
int nr = x % nr_prim;
if(cauta(x)==-1)
v[nr].push_back(x);
}
void sterge(int x)
{
int nr = x % nr_prim;
int lg = v[nr].size();
int i = cauta(x);
if(i != -1)
{
v[nr][i] = v[nr][lg-1];
v[nr].pop_back();
}
}
void afiseaza(int x)
{
if(cauta(x) == -1)
g<<0<<endl;
else
g<<1<<endl;
}
int main()
{
int n,k,nr;
f>>n;
for(int i=0;i<n;i++)
{
f>>k;
f>>nr;
if(k == 1)
adauga(nr);
else if(k==2)
sterge(nr);
else
afiseaza(nr);
}
return 0;
}