Cod sursa(job #3153986)

Utilizator CataNUCatalin Moldovan CataNU Data 2 octombrie 2023 16:57:11
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.42 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

int main() {
    ifstream input("cautbin.in");
    ofstream output("cautbin.out");

    int N, M;
    input >> N;
    vector<int> sir(N);

    for (int i = 0; i < N; i++) {
        input >> sir[i];
    }

    input >> M;
    for (int i = 0; i < M; i++) {
        int tip, x;
        input >> tip >> x;

        if (tip == 0) {
            // Cautarea celei mai mari pozitii pentru valoarea x
            int pozitie = -1;
            for (int j = 0; j < N; j++) {
                if (sir[j] == x) {
                    pozitie = j;
                }
            }
            output << pozitie + 1 << endl;
        } else if (tip == 1) {
            // Cautarea celei mai mari pozitii pentru un element mai mic sau egal cu x
            int pozitie = -1;
            for (int j = 0; j < N; j++) {
                if (sir[j] <= x) {
                    pozitie = j;
                }
            }
            output << pozitie + 1 << endl;
        } else if (tip == 2) {
            // Cautarea celei mai mici pozitii pentru un element mai mare sau egal cu x
            int pozitie = -1;
            for (int j = N - 1; j >= 0; j--) {
                if (sir[j] >= x) {
                    pozitie = j;
                }
            }
            output << pozitie + 1 << endl;
        }
    }


    return 0;
}