Pagini recente » Cod sursa (job #3275380) | Cod sursa (job #2790646) | Cod sursa (job #271113) | Cod sursa (job #3242004) | Cod sursa (job #2629484)
#include <fstream>
using namespace std;
ifstream f("cautbin.in"); ofstream g("cautbin.out");
int n,m,v[100001];
int main()
{ f>>n;
for(int i=1;i<=n;++i) f>>v[i];
int logn;
for(logn=1; logn<=n; logn<<=1);
f>>m;
int tip,x,i,lg;
for(;m;--m)
{ f>>tip>>x;
if(tip<2)
{ int lg;
for(lg=logn,i=0;lg;lg>>=1)
if(i+lg<=n && v[i+lg]<=x) i+=lg;
if(!tip && v[i]!=x) g<<"-1\n"; else g<<i<<'\n';
continue;
}
i=n;
for(lg=logn;lg;lg>>=1)
if(i-lg>0 && v[i-lg]>=x) i-=lg;
g<<i<<'\n';
}
g.close(); f.close(); return 0;
}