Cod sursa(job #1425263)

Utilizator rockerboyHutter Vince rockerboy Data 27 aprilie 2015 09:27:47
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 1.07 kb
#include <fstream>
#include <algorithm>
#include <list>
#include <vector>
#include <limits>
const int meret = 59999;
 
using namespace std;
 
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int n, q, o;
list<int> x[meret];
list<int>::iterator pos;
inline void add(int), del(int);
inline bool query(int);
 
int main()
{
    f >> n;
 
    for (;n;n--)
    {
        f >> q >> o;
        switch (q)
        {
        case 1:
            add (o);
            break;
        case 2:
            del (o);
            break;
        case 3:
            g << query (o) << "\n";
            break;
        }
    }
}
 
inline void add (int num)
{
    if (find(x[num%meret].begin(), x[num%meret].end(), num) == x[num%meret].end()) x[num%meret].push_back(num);
}
inline void del (int num)
{
    pos = find(x[num%meret].begin(), x[num%meret].end(), num);
    if (pos != x[num%meret].end()) x[num%meret].erase(pos);
}
inline bool query (int num)
{
    if (find(x[num%meret].begin(), x[num%meret].end(), num) == x[num%meret].end()) return 0;
    return 1;
}