Cod sursa(job #1549350)

Utilizator beatrice01Ferco Beatrice beatrice01 Data 12 decembrie 2015 11:35:53
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <fstream>
#include <vector>
using namespace std;
const int p= 666013;
vector <int> H[p+5];

bool check (int x)
{
    int r= x%p;
    for( int i=0; i<H[r].size(); i++)
        if( H[r][i]==x ) return 1;
    return 0;
}

void insert (int x)
{
    if( check(x)==0 )
    {
    int r= x%p;
    H[r].push_back(x);
    }
}

void erase (int x)
{
    if( check(x)==1 )
    {
        int r=x%p;
        for(  int i=0; i<H[r].size(); i++ )
          if( H[r][i]==x )
           {
               swap (H[r][i], H[r].back());
               H[r].pop_back();
           }
    }
}

int main()
{
    int n,i,op,x;
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>op>>x;
        if( op==1 ) insert(x);
        if( op==2 ) erase(x);
        if( op==3 ) fout<<check(x)<<'\n';
    }
    return 0;
}