Pagini recente » Borderou de evaluare (job #1506128) | Borderou de evaluare (job #264516) | Borderou de evaluare (job #1841137) | Borderou de evaluare (job #526137) | Cod sursa (job #641705)
Cod sursa(job #641705)
#include <cstdlib>
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
vector <int> v [666013];
int n,i;
const int N=666013;
vector <int>::iterator find (int x)
{
vector <int> ::iterator it;
for (it=v[x%N].begin();it!=v[x%N].end();it++)
if (*it==x) return it;
return v[x%N].end();
}
void insert (int x)
{
if (find (x)==v[x%N].end())
v[x%N].push_back(x);
}
void sterg (int x)
{
vector <int> :: iterator it;
it=find (x);
if (it!=v[x%N].end()) v[x%N].erase(it);
}
int main()
{int x,y,i;
ifstream in ("hashuri.in");
ofstream out ("hashuri.out");
in>>n;
for (i=1;i<=n;i++)
{
in>>x>>y;
if (x==1) insert (y);
else if (x==2) sterg (y);
else if (find (y)!=v[y%N].end()) out<<1<<"\n";
else out<<0<<"\n";
}
return 0;
}