Cod sursa(job #1049299)

Utilizator grosuGrosu Alex grosu Data 7 decembrie 2013 10:13:58
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

#define M 50000

vector<int> v[M];

int search(int x){
    for(int i=0; i<v[x%M].size(); i++){
        if(v[x%M][i] == x){
            return i;
        }
    }

    return -1;
}

void sterge(int x)
{
    int m = search(x);

    if(m >= 0){
        for(int i=m; i<v[x%M].size()-1;i++){
            v[x%M][i] = v[x%M][i+1];
        }
        v[x%M].pop_back();
    }
}

void insert(int x){
    if(search(x)<0)v[x%M].push_back(x);
}


int main()
{
    int n;
    fin>>n;
    for(int i=0; i<n; i++){
        int a, x;
        fin>>a>>x;

        if(a == 1){
            insert(x);
        }
        else if(a == 2){
            sterge(x);
        }
        else {
            int m = search(x);
            if(m >= 0)fout<<1<<'\n';
            else fout<<0<<'\n';
        }
    }
}