Cod sursa(job #868044)

Utilizator sleepaholicNeculaescu Theodor sleepaholic Data 30 ianuarie 2013 17:01:52
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;

#define MOD 666013

vector <int> v[MOD];

int cauta(int k, int x)
{
    int i,n;
    n=int(v[k].size())-1;
    for(i=0;i<=n;i++)
        if(v[k][i]==x)
            return i;
    return -1;
}

void adauga(int k, int x)
{
    if(cauta(k,x)==-1)
        v[k].push_back(x);
}

void sterge(int k, int x)
{
    int poz;
    poz=cauta(k,x);
    if(poz!=-1)
        v[k].erase(v[k].begin()+poz);
}
int main ()
{
    int n,i,op,x;
    ifstream f("hashuri.in");
    ofstream g("hashuri.out");
    f>>n;
    for(i=1;i<=n;i++) {
        f>>op>>x;
        if(op==1)
            adauga(x%MOD,x);
        else if(op==2)
            sterge(x%MOD,x);
        else {
            if(cauta(x%MOD,x)==-1)
                g<<"0"<<'\n';
            else g<<"1"<<'\n';
        }
    }
    f.close();
    g.close();
    return 0;
}