Cod sursa(job #3174747)

Utilizator ADDIVEDavid Chisalita ADDIVE Data 25 noiembrie 2023 09:42:23
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int nmax = 1e5+1;

int v[nmax], n, m, q, x;

int main()
{
    fin >> n;
    for (int i = 1; i<= n; ++i)
    {
        int left = 1, right{n};
        fin >> q >> x;
        if(q == 0)
        {
            int ans = -1;
            while (left <= right)
            {
                int mid = (left + right)/2;
                if(v[mid]==x)
                {
                    if(ans < mid)
                        ans = mid;
                    left = mid + 1;
                }
                else if(v[mid] < x)
                    left = mid + 1;
                else
                    right = mid - 1;
            }
            fout << ans << '\n';
        }
    }
    return 0;
}