Cod sursa(job #2960122)

Utilizator rutakateIvanovici Vlad rutakate Data 3 ianuarie 2023 16:31:35
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.11 kb
#include <iostream>
#include <fstream>

using namespace std;

int n, v[100001];

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

void aux1_0(int x) {
    for(int i = n - 1; i >= 0; --i) {
                if(v[i] == x) {
                    fout << i + 1 << endl;
                    return;
                }
        }
        fout << -1 << endl;
    return;
}

void aux1_1(int x) {
    for(int i = n - 1; i >= 0; --i) {
        if(v[i] <= x) {
            fout << i + 1 << endl;
            return;
        }
    }
}

void aux1_2(int x) {
    for(int i = 0; i < n; ++i) {
        if(v[i] >= x) {
            fout << i + 1;
            return;
        }
    }
}

int main()
{
    int m, aux1, aux2;
    fin >> n;
    for(int i = 0; i < n; ++i) {
        fin >> v[i];
    }
    fin >> m;
    for(int i = 0; i < m; ++i) {
        fin >> aux1 >> aux2;
        if(aux1 == 0) {
            aux1_0(aux2);
        }
        else if(aux1 == 1) {
            aux1_1(aux2);
        }
        else if(aux1 == 2) {
            aux1_2(aux2);
        }
    }
    return 0;
}