Pagini recente » Cod sursa (job #1299903) | Cod sursa (job #1088195) | Cod sursa (job #413795) | Cod sursa (job #419209) | Cod sursa (job #1041686)
#include <stdio.h>
#include <vector>
using namespace std;
FILE *f,*s;
long 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%666013].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,"%ld",&n);
for(int i=1; i<=n; i++)
{
long int a,b;
fscanf(f,"%ld %ld",&a,&b);
if ( a == 1)
Insert(b);
if ( a == 2)
Erase(b);
if ( a == 3)
{
if (Find(b) != v[b%666013].end() )
fprintf(s,"1\n");
else
fprintf(s,"0\n");
}
}
fclose(s);
return 0;
}