Cod sursa(job #1459936)

Utilizator tiby10Tibi P tiby10 Data 11 iulie 2015 12:31:19
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb
#include <bits/stdc++.h>
using namespace std;

#define P 9907

vector<int> B[P];

vector<int>::iterator check(int val){

vector<int>::iterator v;
for(v = B[val%P].begin(); v!=B[val%P].end(); v++)
    if(*v == val)
        return v;
return B[val%P].begin();

}

void add(int val){

if(check(val)==B[val%P].begin())
    B[val%P].push_back(val);
return;

}

void del(int val){

vector<int>::iterator k=check(val);
if(k!=B[val%P].begin())
    B[val%P].erase(k);
return;

}

int main() {

    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");
    int n;
    fin>>n;
    int op,val;
    while(n){
        fin>>op>>val;
        switch(op){
            case 1: add(val);
                    break;
            case 2: del(val);
                    break;
            case 3: if(check(val) != B[val%P].begin())
                        cout<<"1\n";
                    else
                        cout<<"0\n";
                    break;
            default: break;
        }
        --n;
    }

    return 0;
}