Cod sursa(job #1582269)

Utilizator RatiuElenaRatiu Elena-Daniela RatiuElena Data 27 ianuarie 2016 19:41:18
Problema Cautare binara Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 1.26 kb
 #include <iostream>
    #include <fstream>
    using namespace std;
    int v[100000],m,n,i,x,c,j,ok;


    int tip0(int x){
        ok=0;
        i=n;
        while (i>=1 &&ok==0){
            if(v[i]==x)
                ok=1;
            else
                i--;}

    if (ok==1)
        return i;
    else
        return -1;
    }

    int tip1(int x){
        ok=0;i=n;
        while (i>=1 &&ok==0){
                    if(v[i]<=x)
                        ok=1;
                    else
                        i--;}
        return i;
    }

    int tip2(int x){
        ok=0;i=1;
                while (i<=n &&ok==0){
                    if(v[i]>=x)
                        ok=1;
                    else
                        i++;}
    return i;
    }

    int main()
    {
        ifstream f("cautbin.in");
        ofstream g("cautbin.out");
        f>>n;
        for(i=1;i<=n;i++)
            f>>v[i];
        f>>m;
        for(j=1;j<=m;j++){
            f>>c;f>>x;
            if (c==0)
                g<<tip0(x)<<"\n";

            if (c==1)
                g<<tip1(x)<<"\n";

            if(c==2)
                g<<tip2(x)<<"\n";


            }
        f.close();
        g.close();
        return 0;
    }