Cod sursa(job #2349135)

Utilizator CristiFFilip cristian CristiF Data 20 februarie 2019 10:46:21
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.85 kb

#include <fstream>
using namespace std;

int main()
{
    ifstream f("cautbin.in");
    ofstream g("cautbin.out");
    long long int M, p, n, x, i, j;
   f>>n;
    int v[n+5];
    for(i=1;i<=n;i++)
        f>>v[i];

    f>>M;
    for(i=1;i<=M;i++)
        {
            f>>p;
            if(p==0)
                {      long long int li=1, ls=n, mij, gasit=0;
                   f>>x;
                   while(gasit!=1&&li<=ls)
                        {
                            mij=(li+ls)/2;
                            if(x==v[mij])
                                gasit=1;
                            else
                                if(x<v[mij])
                                    ls=mij;
                            else
                                li=mij;
                        }
                if(gasit==1)
                            {  j=mij+1;
                                while(v[j]==v[mij]&&j<=n)
                                    j++;

                                   g<<j-1;
                            }
                            else
                                g<<"-1";
                }
                else
                    if(p==1)
                {      long long int li=1, ls=n, mij, gasit=0;
                    f>>x;
                   while(gasit!=1&&li<=ls)
                   {
                       mij=(li+ls)/2;
                       if(x==v[mij])
                        gasit=1;
                       else
                        if(x<v[mij])
                            ls=mij;
                        else
                            li=mij;
                   }
                   j=mij;
                   while(v[j]==v[mij]&&j<n)
                    j++;
                    g<<j-1;
                }







                }

    return 0;
}