Cod sursa(job #898183)

Utilizator cristicskCsakany Cristian cristicsk Data 28 februarie 2013 08:38:37
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
//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;}
}