Cod sursa(job #2056307)

Utilizator mdcoroiuCoroiu Mircea-Dumitru mdcoroiu Data 4 noiembrie 2017 10:48:26
Problema Cautare binara Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<iostream>
#include<fstream>

using namespace std;

int a[100001],n,i,m,o,x;

int sol_0_x(int x){
    for(i=n-1;i>=0 && x<a[i];i--);
    if(a[i]==x) return i+1;
    return -1;
}

int sol_1_x(int x){
    for(i=n-1;i>=0 && x<a[i];i--);
    return i+1;
}

int sol_2_x(int x){
    for(i=0;i<n && a[i]<x;i++);
    return i+1;
}

int main(){
    ifstream f("cautbin.in");
    ofstream g("cautbin.out");
    f>>n;
    for(i=0;i<n;i++) f>>a[i];
    //for(i=0;i<n;i++) cout<<a[i]<<" ";
    f>>m;
    while(m--){
        f>>o>>x;
        if(o==0) g<<sol_0_x(x)<<"\n";
        else
            if(o==1) g<<sol_1_x(x)<<"\n";
            else g<<sol_2_x(x)<<"\n";
    }
    f.close(); g.close();

    return 0;
}