Cod sursa(job #1047954)

Utilizator leontinLeontin leontin Data 5 decembrie 2013 00:50:54
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");

#define max 666013

vector<int>v[max];

int find(int val)
{
    int zona=val%max;
    for(int i=0;i<v[zona].size();i++)
    if(v[zona][i]==val)
    return 1;
    return 0;
}
void  inserare(int val)
{
    int poz=find(val);
    if(poz==0)
    {
        int zona=val%max;
        v[zona].push_back(val);
    }
}
void sterge(int val)
{
    int zona=val%max;
    for(int i=0;i<v[zona].size();i++)
    {
        if(v[zona][i]==val)
        {
            v[zona][i]=v[zona].back();
            v[zona].pop_back();
            return;
        }
    }
}
int main()
{
    int n,i,x,y;
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>x>>y;
        if(x==1)
        inserare(y);
        if(x==2)
        sterge(y);

        if(x==3)
        g<<find(y)<<"\n";
    }
    return 0;
}