Cod sursa(job #2336272)

Utilizator CristianSoareSoare Cristian Costantin CristianSoare Data 4 februarie 2019 22:34:17
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda smenuri Marime 0.83 kb
#include <fstream>
using namespace std;

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

int n, v[100000], i, m, t, k;

int cb0 (int x){
    int i;
    for (i = n;i >= 1;i--)
        if (v[i] == x)
            return i+1;
    return -1;
}

int cb1 (int x){
    int i;
    for (i = n;i >= 1 && v[i] > x;i--);
            return i-1;
}

int cb2 (int x){
    int i;
    for (i = 1;i <= n && v[i] < x;i++);
        return i+1;
}

int main(){
    freopen ("cautbin.in", "r", stdin);
    fin >> n;
    for (i = 0;i < n;i++){
        fin >> v[i];
    }
    fin >> m;
    while (m){
        m--;
        fin >> t >> k;
        if (t == 0)
            fout << cb0(k) << '\n';
        else if (t == 1)
            fout << cb1(k) << '\n';
        else fout << cb2(k) << '\n';
    }
    return 0;
}