Cod sursa(job #664529)

Utilizator zeeboBuzatu Vlad zeebo Data 20 ianuarie 2012 11:58:51
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int st,dr,mij,v[100001],n,m,x,i,nr,poz;
int main ()
{
	f>>n;
	for (i=1;i<=n;i++) f>>v[i];
	f>>m;
	for (i=1;i<=m;i++)
	{
		f>>x>>nr;
		if (x==0)
		{
		  st=1; dr=n;
           while(st<dr)
           {
             mij=(st+dr+1)/2;
             if(v[mij] > x) dr = mij - 1;
              else st=mij;
           }
          if(v[st] == x) g<<st<<'\n';
            else g<<"-1\n"; 
		}
		if (x==1)
		{
           st=1;dr=n;
		   while(st<dr)
		   {
			 mij=(st+dr+1)/2;
             if(v[mij]>x) dr=mij-1;
			 else st=mij;
		   }
		   g<<st<<'\n';
		}
		if (x==2)
		{
			st=1;dr=n;
		   while(st<dr)
		   {
             mij=(st+dr)/2;
			 if(v[mij]<x) st=mij+1;
			  else dr=mij;
		   }
         g<<st<<'\n';
		}
	}
return 0;
}