Pagini recente » Cod sursa (job #314896) | Cod sursa (job #178998) | Cod sursa (job #138806) | Cod sursa (job #911560) | Cod sursa (job #1041671)
#include <stdio.h>
#include <vector>
using namespace std;
FILE *f,*s;
int n;
vector <int> v[666013];
vector <int> :: iterator Find( int k )
{
vector <int> :: iterator it;
int mod = k%666013;
for (it = v[mod].begin(); it != v[mod].end() ; it++ )
{
if ( *it == k )
return it;
}
return v[mod].end();
}
void Insert ( int k )
{
if ( Find(k) == v[k%666023].end() )
v[k % 666013].push_back(k);
}
void Erase ( int k )
{
vector <int> :: iterator it = Find(k);
if ( it != v[k%666013].end() )
v[k%666013].erase(it);
}
int main()
{
f=fopen("hashuri.in","r");
s=fopen("hashuri.out","w");
fscanf(f,"%d",&n);
for(int i=1; i<=n; i++)
{
int a,b;
fscanf(f,"%d %d",&a,&b);
switch (a)
{
case 1: Insert(b); break;
case 2: Erase(b); break;
case 3:
{
if (Find(b) != v[b%666013].end() )
fprintf(s,"1\n");
else
fprintf(s,"0\n");
break;
}
}
}
fclose(s);
return 0;
}