Cod sursa(job #1538798)

Utilizator radu_stoicanRadu Stoican radu_stoican Data 29 noiembrie 2015 19:49:09
Problema Cautare binara Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.97 kb
#include <fstream>

using namespace std;
int n,m,a[100000];

struct intr
{
    int intr[100000],x[100000];
}b;

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

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

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

int main()
{
    int i;
    ifstream f("cautbin.in");
    ofstream g("cautbin.out");
    f>>n;
    for (i=1; i<=n; i++)
        f>>a[i];
    f>>m;
    for (i=1; i<=m; i++)
    {
        f>>b.intr[i];
        f>>b.x[i];
        switch (b.intr[i])
        {
            case 0: g<<intr0(b.x[i])<<endl;
                    break;
            case 1: g<<intr1(b.x[i])<<endl;
                    break;
            case 2: g<<intr2(b.x[i])<<endl;
                    break;
        }
    }

    return 0;
}