Pagini recente » Monitorul de evaluare | Cod sursa (job #2720949) | Cod sursa (job #1703615) | Cod sursa (job #2097026) | Cod sursa (job #2773748)
#include <iostream>
#include <fstream>
#include <vector>
#define mod 666013;
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 y, x, n;
fin >> n;
for(int i = 1; i <= n; ++i){
fin >> y >> x;
if (y == 1) add(x);
else if (y == 2) pop(x);
else finder(x);
}
return 0;
}