Pagini recente » Cod sursa (job #2312809) | Cod sursa (job #1064677) | Cod sursa (job #2567668) | Cod sursa (job #978208) | Cod sursa (job #2454528)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
pair <int,int> v[1000001];
int vf[1000001],cnt;
bool vf1[1000001];
int cautbin(int val)
{
int r=0,pas=1<<19;
while(pas)
{
if(r+pas<=cnt&&vf[r+pas]<=val)
r+=pas;
pas/=2;
}
return r;
}
int main()
{
int n,i,x;
in>>n;
for(i=1; i<=n; i++)
{
in>>v[i].first>>v[i].second;
vf[++cnt]=v[i].second;
}
sort(vf+1,vf+n+1);
cnt=0;
for(i=1; i<=n; i++)
if(vf[i]!=vf[i-1])
vf[++cnt]=vf[i];
for(i=1; i<=n; i++)
{
x=cautbin(v[i].second);
if(v[i].first==1)
vf1[x]=1;
else if(v[i].first==2)
vf1[x]=0;
else
out<<vf1[x]<<'\n';
}
return 0;
}