Pagini recente » Cod sursa (job #416041) | Cod sursa (job #2366334) | Cod sursa (job #3234584) | Cod sursa (job #1311670) | Cod sursa (job #1088896)
#include <vector>
#include <fstream>
using namespace std;
#define Mod 666013
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int N, tip, val;
vector < int > V[Mod];
inline void insereaza(int x) {
int linia = x % Mod;
for(int j = 0; j < V[linia].size(); ++j)
if(V[linia][j] == x) return ;
V[linia].push_back(x);
}
inline void sterge(int x) {
int linia = x % Mod;
for(int j = 0; j < V[linia].size(); ++j)
if(V[linia][j] == x) {
V[linia][j] = V[linia][V[linia].size() - 1];
V[linia].pop_back();
}
}
inline bool cauta(int x) {
int linia = x % Mod;
for(int j = 0; j < V[linia].size(); ++j)
if(V[linia][j] == x) return 1;
return 0;
}
int main() {
f >> N;
for(int i = 1; i <= N; ++i) {
f >> tip >> val;
if(tip == 1) {
insereaza(val);
continue;
}
if(tip == 2) {
sterge(val);
continue;
}
g << cauta(val) << '\n';
}
g.close();
return 0;
}