Cod sursa(job #1863197)

Utilizator tudorgalatanRoman Tudor tudorgalatan Data 30 ianuarie 2017 19:46:05
Problema Cautare binara Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 1.13 kb
#include <fstream>

using namespace std;

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

unsigned int N;
unsigned int A[100001];
unsigned int M;
unsigned int type, x;

bool ok;
unsigned int i, j;

int main ()
{
    fin >> N;
    for (i=1; i<=N; i++)
        fin >> A[i];
    fin >> M;
    for (i=1; i<=M; i++)
    {
        fin >> type >> x;
        if (type == 0)
        {
            ok = 0;
            for (j=N; j>=1; j--)
                if (A[j] == x)
                {
                    ok = 1;
                    break;
                }
            if (ok == 1)
                fout << j << '\n';
            else
                fout << -1 << '\n';
        }
        else
            if (type == 1)
            {
                for (j=N; j>=1; j--)
                    if (A[j] <= x)
                        break;
                fout << j << '\n';
            }
            else
            {
                for (j=1; j<=N; j++)
                    if (A[j] >= x)
                        break;
                fout << j << '\n';
            }
    }
    return 0;
}