Cod sursa(job #1038099)

Utilizator Biancageorgianaonici bianca Biancageorgiana Data 20 noiembrie 2013 23:33:33
Problema Hashuri Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.98 kb
#include <iostream>
#include <fstream>
#include <vector>
#define mod 666013

using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector <int>h[666013];
int n,val,tip;

int cauta(int x)
{
    for(int i=0;i<h[x%mod].size();i++)
        if(h[x%mod][i]==x)
            return i;
    return -1;
}
void insereaza(int x)
{
    if(cauta(x)==-1)
          h[x%mod].push_back(x);
}
void sterge(int x)
{
    int y=cauta(x);
    if(y!=-1)
   {
       h[x%mod][y]=h[x%mod][h[x%mod].size()-1];
       h[x%mod].resize(h[x%mod].size()-1);
   }
}


int main()
{

    f>>n;
    for(int i=1;i<=n;i++)
    {
        f>>tip>>val;
        if(tip==1)
            insereaza(val);
        if(tip==2)
            sterge(val);
        if(tip==3)
            {
                if(cauta(val)!=-1)
                    g<<'1'<<endl;
                else
                    g<<'0'<<endl;
            }
    }
    f.close();
    g.close();

    return 0;
}