Pagini recente » Borderou de evaluare (job #1255691) | Borderou de evaluare (job #2284675) | Cod sursa (job #2321704) | Borderou de evaluare (job #2521748) | Cod sursa (job #608657)
Cod sursa(job #608657)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int n,o,x,m=666013;
vector<int> H[666013];
vector<int>::iterator gaseste(int x) {
vector<int>::iterator it;
int lista=x%m;
for (it=H[lista].begin();it!=H[lista].end();it++)
if (*it==x) return it;
return H[lista].end();
}
void insereaza(int x) {
int lista=x%m;
if (gaseste(x)==H[lista].end()) H[lista].push_back(x);
}
void sterge(int x) {
int lista=x%m;
vector<int>::iterator it=gaseste(x);
if(it!=H[lista].end()) H[lista].erase(it);
}
int main() {
f >> n;
for (int i=1;i<=n;i++) {
f >> o >> x;
if (o==1) insereaza(x);
if (o==2) sterge(x);
if (o==3) {
if (gaseste(x)!=H[x%m].end()) g << 1 << '\n';
else g << 0 << '\n';
}
}
f.close();g.close();
return 0;
}