Pagini recente » Cod sursa (job #943059) | Cod sursa (job #1461031) | Cod sursa (job #848079) | Cod sursa (job #1182286) | Cod sursa (job #2278396)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int n,i,v[100001],x,j,ls,ld,mid,sol,m,tip,poz;
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
f>>m;
for(i=1;i<=m;i++)
{
f>>tip>>x;
ls=1;
ld=n;
while(ls<=ld)
{
mid=(ls+ld)/2;
if(x==v[mid] && tip==2)
{
poz=mid;
break;
}
else
if(x<v[mid])
ld=mid-1;
else
ls=mid+1;
}
if(tip==0)
if(v[ld]==x)
g<<ld<<'\n';
else
g<<-1<<'\n';
else
if(tip==1)
g<<ld<<'\n';
else
if(tip==2)
{
ls=1;
ld=n;
while(ls<=ld)
{
mid=(ls+ld)/2;
if(x<=v[mid])
ld=mid-1;
else
ls=mid+1;
}
g<<ls<<'\n';
}
}
return 0;
}