Cod sursa(job #1499296)

Utilizator refugiatBoni Daniel Stefan refugiat Data 10 octombrie 2015 14:33:20
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.16 kb
#include<fstream>
#include<iostream>
#include<vector>
#include<iostream>
using namespace std;
#define MOD 666013
vector<int>l[MOD];
vector<int>::iterator findp(int val)
{
    int poz=val%MOD;
    vector<int>::iterator i;
    for(i=l[poz].begin();i!=l[poz].end();++i)
    {
        if(*i==val)
            return i;
    }
    return l[poz].end();
}
void upd(int val)
{
    int poz=val%MOD;
    vector<int>::iterator i=findp(val);
    if(i==l[poz].end())
        l[poz].push_back(val);
}
void sterg(int val)
{
    int poz=val%MOD;
    vector<int>::iterator i=findp(val);
    if(i!=l[poz].end())
        l[poz].erase(i);
}
int main()
{
    ifstream si;
    si.open("hashuri.in");
    ofstream so;
    so.open("hashuri.out");
    int n;
    si>>n;
    int i,a,b;
    for(i=0;i<n;++i)
    {
        si>>a>>b;
        if(a==1)
        {
            upd(b);
        }
        else
        {
            if(a==2)
            {
                sterg(b);
            }
            else
            {
                so<<(findp(b)!=l[b%MOD].end())<<'\n';
            }
        }
    }
    si.close();
    so.close();
    return 0;
}