Pagini recente » joaca_5 | Cod sursa (job #3130679) | Cod sursa (job #2628946) | Cod sursa (job #409107) | Cod sursa (job #1431312)
#include<fstream>
#define nmax 100006
using namespace std;
int n,m,intrebare,element,limita1,limita2,mij,poz,v[nmax];
int main()
{
ifstream f("cautbin.in");
ofstream g("cautbin.out");
f>>n;
for(int i=1;i<=n;i++)
f>>v[i];
f>>m;
for(int i=1;i<=m;i++)
{
f>>intrebare>>element;
limita1=1;
limita2=n;
if(intrebare==0)
{
while(limita2-limita1!=1)
{
mij=limita1+(limita2-limita1)/2;
if(element>=v[mij])limita1=mij;
else limita2=mij;
}
mij=limita1+(limita2-limita1)/2;
if(v[mij]==element)g<< mij<<"\n";
else g<<"-1\n";
}
if(intrebare==1)
{
while(limita2-limita1!=1)
{
mij=limita1+(limita2-limita1)/2;
if(element>=v[mij])limita1=mij;
else limita2=mij;
}
mij=limita1+(limita2-limita1)/2;
g<< mij<<"\n";
}
if(intrebare==2)
{
while(limita2-limita1!=1)
{
mij=limita1+(limita2-limita1)/2;
if(element<=v[mij])limita2=mij;
else limita1=mij;
}
g<< limita2<<"\n";
}
}
return 0;
}