Pagini recente » Cod sursa (job #1651748) | Rating Spiridon Alexandru-Marian (Hecaton) | Cod sursa (job #201273) | Cod sursa (job #2015028) | Cod sursa (job #3164840)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream input("cautbin.in");
ofstream output("cautbin.out");
int a[100000], N, i, x, y, bal, jobb, kozep;
input>>N;
for(i=0; i<N; i++){
input>>a[i];
}
input>>y;
while(input>>y){
input>>x;
bal=0;
jobb=N-1;
if(y==0){
while(bal<jobb){
kozep=(bal+jobb+1)/2;
if(a[kozep]<=x){
bal=kozep;
}else{
jobb=kozep-1;
}
}
if (a[bal]==x) output<<bal+1;
else output<<-1;
output<<endl;
} else if(y==1){
while(bal<jobb){
kozep=(bal+jobb+1)/2;
if(a[kozep]<=x){
bal=kozep;
}else{
jobb=kozep-1;
}
}
output<<bal+1<<endl;
} else if(y==2){
while(bal<jobb){
kozep=(bal+jobb)/2;
if(a[kozep]<x){
bal=kozep+1;
}else{
jobb=kozep;
}
}
output<<bal+1<<endl;
}
}
return 0;
}