Pagini recente » Cod sursa (job #1118377) | Cod sursa (job #2080096) | Cod sursa (job #2117526) | Cod sursa (job #3240785) | Cod sursa (job #2208135)
#include <fstream>
using namespace std;
int i,j,m,n,a,b,s,t[100005],xs,ys,xb,yb,e,l,x,d,x1;
int c;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
void caut(int x,int y)
{
if (x>=y) {s=x; return;}
int mid=(x+y+1)/2;
if (t[mid]>x1) caut(x,mid-1);
else caut(mid,y);
return;
}
int main()
{
fin>>n;
for (i=1;i<=n;i++)
fin>>t[i];
fin>>m;
for (i=1;i<=m;i++)
{
fin>>c>>x1;
s=1; d=n;
//if (c==2) x1--;
caut(s,d);
if (c==0) if (t[s]==x1) fout<<s<<"\n"; else fout<<-1<<"\n";
if (c==1) if (t[s]>x1 || s>n) fout<<s-1<<"\n"; else fout<<s<<"\n";
if (c==2) fout<<s<<"\n";
}
return 0;
}