Cod sursa(job #612979)

Utilizator Lokycatalin petre Loky Data 14 septembrie 2011 08:53:41
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>

using namespace std;

int i,v[100],m,x,y;
long int n,st,dr,mij;

int main()
{
    ifstream f("cautbin.in");
    ofstream g("cautbin.out");
    f>>n;
    for (i=1;i<=n;i++)
    f>>v[i];
    f>>m;
    for (i=1;i<=m;i++){
        f>>x>>y;
        if (x==0) {
            st=1;dr=n;
            while (st<=dr) {
                mij=(st+dr)/2;
                if (v[m]<=y) st=mij+1;
                else
                dr=mij-1;
            }
            if (v[mij]>y) --mij;
            if (v[mij]==y) g<<mij<<'\n';
            else
            g<<'-1'<<'\n';
        }
    }
    f.close();
    g.close();
    return 0;
}