Cod sursa(job #1553185)

Utilizator dsergiu05Sergiu Druga dsergiu05 Data 19 decembrie 2015 13:05:04
Problema Cautare binara Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include <fstream>

using namespace std;

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

const int nmax=100000;
int v[nmax+1], n;


int cautare0 (int x) {
    for (int i=n; i>=1; i--) {
        if (v[i]==x) {
            return i;
        }
    }
    return -1;
}

int cautare1 (int x) {
    for (int i=n; i>=1; i--) {
        if (v[i]<=x) {
            return i;
        }
    }
}

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

}

int main () {
    int m;
    fin>>n;

    for (int i=1; i<=n; i++) {
        fin>>v[i];
    }

    fin>>m;
    for  (int i=1; i<=m; i++) {
        int x,y;
        fin>>x>>y;
        if (x==0) {
            fout<<cautare0(y)<<"\n";
        } else if(x==1) {
            fout<<cautare1(y)<<"\n";
        }else {
            fout<<cautare2(y)<<"\n";
        }
    }

    return 0;
}