Cod sursa(job #2641475)

Utilizator teofilotopeniTeofil teofilotopeni Data 11 august 2020 16:15:13
Problema Cautare binara Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.16 kb
#include <fstream>
#include <iostream>
using namespace std;

int v[100001];

int main()
{
    ifstream in ("cautbin.in");
    ofstream out ("cautbin.out");
    int n, m, i, x, y, poz, min, max;
    in >> n;
    for (i = 1; i <= n; i++)
    {
        in >> v[i];
    }
    for (in >> m; m > 0; m--)
    {
        in >> x >> y;
        poz = -1;
        if (x == 0)
        {
            i = n;
            if (v[n / 2] > y)
                i = n / 2;
            for (; i > 0 && poz < 1; i--)
            {
                if (v[i] == y)
                    poz = i;
            }
        }
        else if (x == 1)
        {
            i = n;
            if (v[n / 2] > y)
                i = n / 2;
            for (; i > 0 && poz < 1; i--)
            {
                if (v[i] <= y)
                    poz = i;
            }
        }
        else
        {
            i = 1;
            if (v[n / 2] < y)
                i = n / 2;
            for (; i <= n && poz < 1; i++)
            {
                if (v[i] >= y)
                    poz = i;
            }
        }
        out << poz << "\n";
    }
    return 0;
}