Pagini recente » Cod sursa (job #2753127) | Cod sursa (job #1875113) | Cod sursa (job #510277) | Cod sursa (job #83166) | Cod sursa (job #2201975)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int a[100];
int main()
{ int i,n,m,t,x;
fin>>n;
for (i=1; i<=n; ++i) fin>>a[i];
fin>>m;
while(m){
fin>>t>>x;
if(t==0)
{ int st=1,dr=n,mid;
while(st<=dr){
mid=(st+dr)/2;
if(a[mid]<=x) st=mid+1;
else dr=mid-1;
}
mid=(st+dr)/2;
if(a[mid]>x) mid--;
if(a[mid]==x) fout<<mid<<'\n';
else fout<<-1<<'\n';
}
if(t==1)
{ int st=1, dr=n, mid;
while(st<dr){
mid=(st+dr)/2;
if(a[mid]<=x) st=mid+1;
else dr=mid;
}
mid=(st+dr)/2;
if(a[mid]>x) mid--;
fout<<mid<<'\n';
}
if(t==2)
{ int st=1, dr=n, mid;
while(st<dr){
mid=(st+dr)/2;
if(a[mid]<x) st=mid+1;
else dr=mid;
}
mid=(st+dr)/2;
if(a[mid]<x) mid++;
fout<<mid<<'\n';
}
m--;
}
}