Cod sursa(job #1514451)

Utilizator Tomi98Osvath Tamas Tomi98 Data 31 octombrie 2015 11:03:42
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <fstream>
#include <vector>
#define rem x%mod
#define mod 666013
using namespace std;
int n;
int op, nr;
vector <int> H[mod];

int findPos(int x)
{
    for (int i = 0; i < H[rem].size(); i++)
        if (H[rem][i] == x) return i;
    return -1;
}
void add(int x)
{
    if (findPos(x) == -1) H[rem].push_back(x);
}

void erase_(int x)
{
    int pos = findPos(x);
    if (pos == -1) return;
    swap(H[rem][pos], H[rem][H[rem].size() - 1]);
    H[rem].pop_back();
}
int main()
{
    ifstream f("hashuri.in");
    ofstream g("hashuri.out");
    f >> n;
    for (int i = 1; i <= n; i++)
    {
        f >> op >> nr;
        if (op == 1) add(nr);
            else if (op == 2) erase_(nr);
                else
                {
                    if (findPos(nr) == -1) g << "0\n";
                        else g << "1\n";
                }
    }
    return 0;
}