Pagini recente » Cod sursa (job #689222) | Cod sursa (job #211105) | Cod sursa (job #62386) | Cod sursa (job #465427) | Cod sursa (job #2278395)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("bete2.in");
ofstream g("bete2.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;
}