Cod sursa(job #3352643)

Utilizator MathStefan Eduard Florin Math Data 29 aprilie 2026 20:39:27
Problema Cautare binara Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.14 kb
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int v[100001];
int main()
{
    int N, M;
    fin >> N;
    for (int i = 1; i <= N; i++)
        fin >> v[i];
    fin >> M;
    for (int i = 1; i <= M; i++) {
        int tip, x;
        fin >> tip >> x;
        if (tip == 0) {
            bool gasit = 0;
            int j;
            for (j = N; j >= 1; j--) {
                if (v[j] == x) {
                    gasit = 1;
                    break;
                }
            }
            if (!gasit)
                fout << -1 << '\n';
            else
                fout << j;
        }
        if (tip == 1) {
            int j;
            for (j = N; j >= 1; j--) {
                if (v[j] <= x) {
                    break;
                }
            }
            fout << j << '\n';
        }
        if (tip == 2) {
            int j;
            for (j = 1; j <= N; j++) {
                if (v[j] >= x) {
                    break;
                }
            }
            fout << j << '\n';
        }
    }
    return 0;
}