Pagini recente » Istoria paginii runda/oji20092010 | Autentificare | Istoria paginii runda/runda2_galeti_povesti_si_turnuri | Cod sursa (job #361731) | Cod sursa (job #2746918)
#include <iostream>
#include <map>
#include <algorithm>
#include <vector>
#include <numeric>
#include <sstream>
#include <cmath>
#include <set>
#include <stack>
#include <iomanip>
#include <limits.h>
#include <queue>
#include <fstream>
#include <unordered_set>
#include <unordered_map>
#include <exception>
#include <deque>
#include <string>
using namespace std;
fstream in_file;
fstream out_file;
#define BigPrime 786433;
int main()
{
in_file.open("hashuri.in");
out_file.open("hashuri.out", ios::out);
set<int> hash;
int n;
in_file >> n;
int operatie, val;
while (n--)
{
in_file >> operatie;
if (operatie == 1)
{
in_file >> val;
val = val % BigPrime;
hash.insert(val);
}
else if (operatie == 2)
{
in_file >> val;
val = val % BigPrime;
hash.erase(val);
}
else
{
in_file >> val;
val = val % BigPrime;
set<int>::iterator it = hash.find(val);
if (it != hash.end())
{
cout << *it << "\n";
}
else
{
cout << '0' << "\n";
}
}
}
in_file.close();
out_file.close();
}