Pagini recente » Cod sursa (job #2153203) | Cod sursa (job #735215) | Cod sursa (job #842281) | Cod sursa (job #2528003) | Cod sursa (job #288851)
Cod sursa(job #288851)
#include <cstdio>
#include <vector>
using namespace std;
#define maxN 1000100
#define MOD 666013
vector <int> H[MOD], aux;
int N;
void push(int val) {
int x, i;
x = val % MOD;
H[x].push_back(val);
}
void pop(int val) {
int x, i, y;
x = val % MOD; y = H[x].size();
for (i = 0; i < y; ++ i)
if (H[x][i] == val) {
H[x][i] = H[x][y - 1];
H[x].pop_back();
//vector <int> ().swap(H[x]);
return ;
}
}
bool ask(int val) {
int x, i;
x = val % MOD;
for (i = 0; i < H[x].size(); ++ i)
if (H[x][i] == val)
return true;
return false;
}
int main () {
int i, tip, val;
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
scanf("%d", &N);
for (; N --; ) {
scanf("%d%d", &tip, &val);
if (tip == 1) push(val);
if (tip == 2) pop(val);
if (tip == 3) fprintf(stdout, "%d\n", (int)ask(val));
}
//while (1);
}