Cod sursa(job #2202067)

Utilizator bojemoiRadu Mamaliga bojemoi Data 7 mai 2018 14:26:23
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<fstream>
#include<algorithm>
using namespace std;

ifstream cin("cautbin.in");
ofstream cout("cautbin.out");
int V[100010];

int main () {
    int n, m, x, y, i, t;

    cin>>n;

    for (i = 1; i <= n; ++ i)
        cin>>V[i];

    cin>>m;

    while(m--) {
        cin>>t>>y;

        if(t == 0) {
            x = upper_bound(V + 1, V + n + 1, y) - V - 1;
            if (x <= n && x >= 1 && V[x] == y)
                cout<<x<<"\n";
            else cout<<"-1\n";
        } else if (t == 1) {
            x = lower_bound(V + 1, V + n + 1, y + 1)-V-1;
            cout<<x<<"\n";
        } else {
            x = upper_bound(V + 1, V + n + 1, y - 1) - V;
            cout<<x<<"\n";
        }
    }
}