Pagini recente » Atasamentele paginii Pictura | Diferente pentru problema/balanta intre reviziile 13 si 14 | Heap-uri | Diferente pentru utilizator/samsungmaster intre reviziile 18 si 12 | Cod sursa (job #1036993)
#include<iostream>
#include<fstream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<vector>
#define mod 666013
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
vector<int>L[mod];
int n,y;
inline void Citire()
{
fin>>n;
}
inline vector<int>::iterator Cautare(int x)
{
int lim=L[y].size(),i;
vector<int>::iterator kk=L[y].begin();
for (i=0;i<lim;i++,kk++)
if (L[y][i]==x)
return kk;
return kk;
}
inline void Rezolva()
{
int x,op;
vector<int>::iterator poz;
for (int i=1;i<=n;i++)
{
fin>>op>>x;
y=x%mod;
if (op==1)
{
if (Cautare(x)==L[y].end())
L[y].push_back(x);
}
else if (op==2)
{
poz=Cautare(x);
if (poz!=L[y].end())
L[y].erase(poz);
}
else {
if (Cautare(x)!=L[y].end())
fout<<"1\n";
else fout<<"0\n";}
}
}
int main()
{
Citire();
Rezolva();
return 0;
}