Pagini recente » Cod sursa (job #1693075) | Cod sursa (job #1775694) | Cod sursa (job #2968025) | Cod sursa (job #1590197) | Cod sursa (job #1396558)
#include <fstream>
using namespace std;
long n,m,v[100001],i,j,poz1,poz2,k,x,y,p;
int main()
{
ifstream fin ("cautbin.in");
ofstream fout ("cautbin.out");
fin>>n;
for (i=1;i<=n;i++)
fin>>v[i];
fin>>p;
for (k=1;k<=p;k++)
{
fin>>x>>y;
if (x==0)
{
i=1;
j=n;
while (i<=j)
{
m=(i+j)/2;
if (v[m]<=y) i=m+1;
else j=m-1;
}
if (v[m]>y) m--;
if (v[m]==y) fout<<m<<'\n';
else fout<<-1<<'\n';
}
else if (x==1)
{
i=1;
j=n;
while (i<=j)
{
m=(i+j)/2;
if (v[m]<=y) i=m+1;
else j=m-1;
}
if (v[m]>y) m--;
fout<<m<<'\n';
}
else
{
i=1;j=n;
while (i<=j)
{
m=(i+j)/2;
if (v[m]<y) i=m+1;
else j=m-1;
}
if (v[m]<y) m++;
fout<<m<<'\n';
}
}
return 0;
}