Cod sursa(job #871239)

Utilizator SebiSebiPirtoaca George Sebastian SebiSebi Data 4 februarie 2013 17:08:28
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 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();
}