Pagini recente » Cod sursa (job #2262259) | Cod sursa (job #1763186) | Cod sursa (job #288894) | Cod sursa (job #1771281) | Cod sursa (job #898183)
Cod sursa(job #898183)
//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-1;i>=0;i--){if(n[i]==a)return i;}
return poz;
}
long long unu(long long a){
int poz;
int i;for(i=N-1;i>=0;i--){if(n[i]<=a)return i;}
}
long long doi(int a){
int i;for(i=0;i<N;i++){if(n[i]>=a)return i;}}
int main(){
fin>>N;
for(i=0;i<N;i++){fin>>n[i];}
fin>>M;
for(i=0;i<M*2;i+=2){fin>>m[i]>>m[i+1];}
for(i=0;i<M*2;i+=2){
if(m[i]==0)fout<<zero(m[i+1])+1<<endl;
if(m[i]==1)fout<<unu(m[i+1])+1<<endl;
if(m[i]==2)fout<<doi(m[i+1])+1<<endl;}
}