Pagini recente » Cod sursa (job #2308023) | Cod sursa (job #893641) | Rezultatele filtrării | Cod sursa (job #494699) | Cod sursa (job #1759903)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
const int MOD=666013;
vector<int>G[MOD];
int N,NrElem[MOD];
int find_value(int x)
{
int lista = x % MOD;
int i;
for (i = 0; i < NrElem[lista]; i++)
if (G[lista][i] == x)
return i;
return NrElem[lista]+1;
}
void insert_value(int x)
{
int lista = x % MOD;
if (find_value(x)==NrElem[lista]+1)
{G[lista].push_back(x);NrElem[lista]++;}
}
void erase_value(int x)
{
int lista = x % MOD;
int it = find_value(x);
if (it != NrElem[lista]+1)
{G[lista].erase(G[lista].begin()+it);NrElem[lista]--;}
}
int main()
{
int op,nr;
f>>N;
for (int i=1;i<=N;i++)
{
f>>op>>nr;
if (op==1)
insert_value(nr);
if (op==2)
erase_value(nr);
if (op==3)
{
if (find_value(nr)!= NrElem[nr%MOD]+1) g<<1<<'\n';
else g<<0<<'\n';
}
}
}