Cod sursa(job #2681976)

Utilizator michael_blazemihai mihai michael_blaze Data 7 decembrie 2020 15:39:02
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.01 kb
#include <bits/stdc++.h>

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

int cerinta1(int arr[], int n, int x) {
    int poz = -1;
    for (int i = 0;i < n; ++ i)
        if (arr[i] == x)
            poz = i;

    return poz;
}

int cerinta2(int arr[], int n, int x) {
    int poz;
    
    for (int i = 0;i < n; ++ i)
        if (arr[i] <= x)
            poz = i;

    return poz;
}

int cerinta3(int arr[], int n, int x) {
    for (int i = 0;i < n; ++ i)
        if (arr[i] >= x)
            return i;
}

int main() {
    int n;
    int v[1000005];
    int q;

    fin >> n;
    for (int i = 0; i < n; ++ i)
        fin >> v[i];

    fin >> q;

    for (int i = 0;i < q; ++ i) {
        int c, y;
        fin >> c >> y;

        if (c == 0)
            fout << cerinta1(v, n, y) + 1 << '\n';
        else if (c == 1)
            fout << cerinta2(v, n, y) + 1 << '\n';
        else
            fout << cerinta3(v, n, y) + 1 << '\n';

    }

    return 0;
}