Pagini recente » Cod sursa (job #2524531) | Cod sursa (job #950824) | Cod sursa (job #155071) | Cod sursa (job #3147648) | Cod sursa (job #898210)
Cod sursa(job #898210)
//cautarea binara
#include <iostream>
#include <fstream>
using namespace std;
fstream fin("cautbin.in",ios::in);
fstream fout("cautbin.out",ios::out);
long N,M,i;long long m[100000],n[100000];
long long zero(long long a){
int poz=-1;
int i;for(i=N;i>0;i--){if(n[i]==a)return i;}
return poz;
}
long long unu(long long a){
int poz;
int i;for(i=N;i>0;i--){if(n[i]<=a)return i;}
}
long long doi(long long a){
int i;for(i=1;i<=N;i++){if(n[i]>=a)return i;}}
int main(){
fin>>N;
for(i=1;i<=N;i++){fin>>n[i];}
fin>>M;
for(i=1;i<=M*2;i+=2){fin>>m[i]>>m[i+1];}
for(i=1;i<=M*2;i+=2){
if(m[i]==0)fout<<zero(m[i+1])<<endl;
if(m[i]==1)fout<<unu(m[i+1])<<endl;
if(m[i]==2)fout<<doi(m[i+1])<<endl;}
}