Cod sursa(job #2270771)

Utilizator AdelaCorbeanuAdela Corbeanu AdelaCorbeanu Data 27 octombrie 2018 15:25:31
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>
using namespace std;
int n, i, m, a, x, v[1001], b, c, d;
int main()
{
    cin >> n;
    for (i=0;i<n;i++) cin >> v[i];
    cin >> m;
    for (i=1;i<=m;i++) {
        cin >> a >> x;
        b = lower_bound(v,v+n,x) - v;
        c = upper_bound(v,v+n,x) - v;
        if (a==0) {
            if (v[c-1]==x) cout << c << endl;
            else cout << -1 << endl;
        }
        else if (a==1) {
            cout << c << endl;
        }
        else {
            if (v[b+1]==x) cout << b+1 << endl;
            else cout << b+2 << endl;
        }
    }
    return 0;
}