Pagini recente » Cod sursa (job #2940829) | Cod sursa (job #2032999) | Cod sursa (job #2800419) | Cod sursa (job #483361) | Cod sursa (job #1168311)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int main()
{
int n,m,a[100001],i,j,x,y,w,tip;
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
f>>y;
for(w=1;w<=y;w++)
{
f>>tip>>x;
i=1; j=n; m=n/2;
int ok=0;
while(i!=j&&ok==0)
{
m=(i+j)/2;
if(x==a[m]) ok=1;
if(x>a[m])
i=m+1;
else
if(x<a[m])
j=m-1; }
if(tip==0)
{if(a[m]==x)
{for(j=m;j<=n;j++)
if(a[j]!=x)break;
g<<j-1;
}
else
g<<-1;
g<<'\n';
}
else
if(tip==1)
{if(a[m]==x)
{for(j=m;j<=n;j++)
if(a[j]!=x)break;
g<<j-1;
}
else
g<<m;
g<<'\n';}
else
{if(a[m]==x)
{for(j=m;j>=1;j--)
if(a[j]!=x)break;
g<<j+1;
}
else
g<<m;
g<<'\n';}
}
return 0;
}