Cod sursa(job #1468406)

Utilizator pepsiM4A1Ozturk Arif pepsiM4A1 Data 5 august 2015 23:26:04
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.34 kb
#include <cstdio>
#include <vector>
#include <algorithm>
#define key 666013
using namespace std;
vector<int> a[key];
void add(int nr)
{
    int cheie=nr%key,as=0;
    int siz=a[cheie].size();
    for(int i=0;i<siz;i++)
    {
        if(nr==a[cheie][i])
        {
            as=1;
            break;
        }
    }
    if(as==0) a[cheie].push_back(nr);
}
void er(int nr)
{
    int cheie=nr%key,as=0,pos=0;
    int siz=a[cheie].size();
    for(int i=0;i<siz;i++)
    {
        if(nr==a[cheie][i])
        {
            as=1;
            pos=i;
            break;
        }
    }
    if(as==0) return;
    swap(a[cheie][siz-1],a[cheie][pos]);
    a[cheie].resize(siz-1);
}
int check(int nr)
{
    int cheie=nr%key,as=0;
    int siz=a[cheie].size();
    for(int i=0;i<siz;i++)
    {
        if(nr==a[cheie][i])
        {
            as=1;
            break;
        }
    }
    return as;
}
int main()
{
    freopen ("hashuri.in","r",stdin);
    freopen ("hashuri.out","w",stdout);
    int n;
    scanf("%d",&n);
    int tip,nr;
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&tip,&nr);
        if(tip==1)
        {
            add(nr);
        }
        else if(tip==2)
        {
            er(nr);
        }
        else
        {
            printf("%d\n",check(nr));
        }
    }
}