Pagini recente » Cod sursa (job #505604) | Cod sursa (job #1042262) | Cod sursa (job #3264188) | Cod sursa (job #666674) | Cod sursa (job #3232818)
#include<bits/stdc++.h>
using namespace std;
ifstream F("cautbin.in");
ofstream G("cautbin.out");
#define Z 2048
int a[100000],p=Z,q;
char s[Z],t[Z];
inline char A()
{
if(p==Z)
F.read(s,Z),p=0;
return s[p++];
}
int B()
{
char c;
for(c=A();!isdigit(c);c=A());
int n=0;
for(;isdigit(c);n=n*10+c-48,c=A());
return n;
}
inline void C()
{
if(q==Z)
G.write(t,Z),q=0;
}
void D(int n)
{
int k=0,b[6];
for(;n;b[k++]=n%10,n/=10);
for(;k;t[q++]=b[--k]+48,C());
}
int main()
{
int n=B();
for(int i=0;i<n;a[i++]=B());
int m;
for(m=B();m--;) {
int i=B(),j=B(),k;
i<2?k=upper_bound(a,a+n,j)-a,!i&&a[k-1]!=j?t[q++]='-',C(),t[q++]=49,C():D(k):D(lower_bound(a,a+n,j)-a+1),t[q++]='\n',C();
}
return G.write(t,q),0;
}