Pagini recente » Cod sursa (job #2984) | Cod sursa (job #1289671) | Cod sursa (job #819797) | Cod sursa (job #3194028) | Cod sursa (job #2245129)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("cautbin.in");
ofstream four("cautbin.out");
int a[100005];
int main(){
int n,
fin >> n;
for(i=1; i<=n; ++i){
fin >> a[i];
}
int m;
fin >> n;
for(i=1; i<=m; ++i){
int op, x, res, mid, l=1, r=n;
fin >> op >> x;
res=-1;
if(op == 0){
while(l<=r){
mid = (l+r) / 2;
if(a[mid]==x){
res = a[mid];
l=mid+1;
}
else(a[mid]<x){
l=mid+1;
}
else(a[mid]>x){
r=mid-1;
}
}
}
if(op == 1){
while(l<=r){
mid = (l+r) / 2;
if(a[mid]<=x){
res=a[mid];
l=mid+1;
}
else(a[mid]>x){
r=mid-1;
}
}
}
if(op == 2){
while(l<=r){
mid = (l+r) / 2;
if(a[mid]>=x){
res=a[mid];
r=mid-1;;
}
else(a[mid]<x){
l=mid+1;
}
}
}
}
fout<<res;
}