Pagini recente » Monitorul de evaluare | Cod sursa (job #1070693) | Cod sursa (job #964922) | Cod sursa (job #348310) | Cod sursa (job #1801084)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
const int MOD = 954451;
int n;
vector<int> a[MOD];
bool exista(int x)
{
int m = x % MOD;
for(int i = 0; i < a[m].size(); ++i)
if(a[m][i] == x)
return true;
return false;
}
inline void add(int x)
{
if(!exista(x))
a[x % MOD].push_back(x);
}
void del(int x)
{
int m = x % MOD;
for(int i = 0; i < a[m].size(); ++i)
{
if(a[m][i] == x)
{
a[m].erase(a[m].begin() + i);
break;
}
}
}
int main()
{
in >> n;
int t;
int x;
for(int i = 1; i <= n; ++i)
{
in >> t;
in >> x;
if(t == 1)
add(x);
else if(t == 2)
del(x);
else
out << exista(x) << "\n";
}
return 0;
}