Pagini recente » Borderou de evaluare (job #622452) | Borderou de evaluare (job #1701830) | Cod sursa (job #2773746)
#include <iostream>
#include <fstream>
#include <vector>
#define mod 1000000007
using namespace std;
ifstream fin ("hashuri.in");
ofstream fout ("hashuri.out");
vector<int>v[1000001];
int find(int x){
int l = x % mod;
int lg = v[l].size();
for (int i = 0; i < lg; ++i) {
if (v[l][i] == x){
return 1;
}
}
return 0;
}
void add(int x){
int l = x % mod;
if (!find(x))
v[l].push_back(x);
}
void pop(int x){
int l = x % mod;
int lg = v[l].size();
for (int i = 0; i < lg; ++i) {
if (v[l][i] == x){
v[l][i] = v[l][lg - 1];
v[l].pop_back();
break;
}
}
}
void finder(int x){
fout<<find(x)<<endl;
}
int main() {
int n, x, y;
fin>>n;
for (int i = 0; i < n; ++i) {
fin>>y>>x;
if (y == 1) add(x);
else if (y == 2) pop(x);
else finder(x);
}
return 0;
}