Pagini recente » Cod sursa (job #1686169) | Cod sursa (job #952741) | Cod sursa (job #564950) | Cod sursa (job #424057) | Cod sursa (job #2164993)
#include <fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int n,v[100002],m,a,b,rez,ua[100002],pa[100002],p1,p2,mij,poz;
int main()
{
f>>n;
for(int i=1;i<=n;++i)f>>v[i];
f>>m;
for(int i=1;i<=m;++i)
{
f>>a>>b;
if(a<=1)
{
p1=1,p2=n,mij=n/2,poz=0;
while(p1<p2)
{
mij=(p1+p2)/2;
if(v[mij]<=b){p1=mij+1;poz=mij;}
else p2=mij-1;
}
if(a==0&&v[poz]<b)g<<-1;
else g<<poz;
g<<'\n';
}
else
{
p1=1,p2=n,mij=n/2,poz=0;
while(p1<=p2)
{
mij=(p1+p2)/2;
if(v[mij]>=b){p2=mij-1;poz=mij;}
else p1=mij+1;
}
g<<poz<<'\n';
}
}
return 0;
}