Pagini recente » Cod sursa (job #1088345) | Cod sursa (job #1011082) | Cod sursa (job #2514333) | Cod sursa (job #599494) | Cod sursa (job #708028)
Cod sursa(job #708028)
#include <fstream>
#include <cstdio>
#include <vector>
#define nmax 599999
using namespace std;
vector <int> a[nmax];
int cauta(int x)
{
int j;
j=x%nmax;
vector<int>::iterator it;
for(it=a[j].begin();it!=a[j].end();++it)
{
if(*it==x)
{
return it-a[j].begin()+1;
}
}
return 0;
}
void adaugare(int x)
{
if(!cauta(x))
{
int j=x%nmax;
vector<int>::iterator it;
a[j].push_back(x);
}
}
void sterge(int x)
{
vector<int>::iterator it;
int y;
if(y=cauta(x))
{
int j=x%nmax;
it=a[j].begin()+y-1;
a[j].erase(it);
}
}
int main()
{
ofstream out("hashuri.out");
int n,x,y,i;
vector<int>::iterator it;
ifstream in("hashuri.in");
in>>n;
for(i=1;i<=n;i++)
{
in>>x>>y;
if(x==1)
adaugare(y);
else
if(x==2)
sterge(y);
else
if(x==3)
if(cauta(y))
out<<'1'<<"\n";
else
out<<'0'<<"\n";
}
}