Cod sursa(job #880070)

Utilizator datBumbleBPanainte Adrian datBumbleB Data 16 februarie 2013 11:13:51
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.1 kb
#include<iostream>
#include<fstream>

using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");

int main(){

    int n, m, x, a, b, p, q, r;
    fin >> n;
    int v[n];
    for(int i = 1; i <= n; i ++){
     fin >> x;
     v[i] = x;
    }
    fin >> m;
    for(int i = 1; i <= m; i ++){
        fin >> a >> b;
        if(a == 0){

        if(b >= v[n/2]) for(int i = n/2; i <= n; i++)if(b == v[i]) p = i;
        else if(b < v[n/2])for(int i = 1; i <= n/2; i++)if(b == v[i]) p = i;
        cout << p << endl;
        }
        else if(a == 1){
        if(b >= v[n/2])for(int i = n/2; i <= n; i++)if(v[i] <= b)q = i;
        else if(b < v[n/2])for(int i = 1; i <= n/2; i++)if(v[i] <= b)q = i;
        cout << q << endl;
        }
        else if (a == 2){
        if(b >= v[n/2])for(int i = n/2; i <= n; i++)if(v[i] >= b){
            r = i;
        break;
        }
        else if(b < v[n/2])for(int i = 1; i <= n/2; i++)if(v[i] >= b){
            r = i;
        break;

         }
        cout << r << endl;
        }

        }



        return 0;


}