Cod sursa(job #3132448)

Utilizator popardaandrei3490Popirda Andrei-Eusebiu popardaandrei3490 Data 22 mai 2023 20:01:44
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.01 kb
#include <iostream>

using namespace std;

int main()
{
    int n, v[1001], m;
    cin >> n;
    for(int i = 1; i <= n; i++)
    {
        cin >> v[i];
    }
    cin >> m;
    for(int i = 0; i <  m; i++)
    {
        int x;
        if(i == 0)
        {
            cin >> x;
            int st = 1, dr = n, poz = -1;
            while(st <= dr)
            {
                int mid = (st + dr) / 2;
                if(v[mid] == x)
                {
                    poz = mid;
                    break;
                }
                if(v[mid] < x)
                {
                    st = mid + 1;
                }
                else
                {
                    dr = mid - 1;
                }
            }
            if(st <= dr)
            {
                while(v[poz] == v[poz + 1]){
                    poz++;
                }
                cout << poz << "\n";
            }
            else cout << -1 << "\n";
        }


    }
    return 0;
}