Pagini recente » Cod sursa (job #2564972) | Cod sursa (job #3205327) | Cod sursa (job #1216327) | Cod sursa (job #2659945) | Cod sursa (job #1156624)
#include <fstream>
#define MAXX 100100
using namespace std;
int n,m,v[MAXX],step;
ifstream fin ("cautbin.in");
ofstream fout("cautbin.out");
int main()
{
int op,x,i,aux;
fin>>n;
for (i=1;i<=n;++i)
fin>>v[i];
for (step=1;step<=n;step<<= 1);
fin>>m;
while(m)
{
fin>>op>>x;
if (!op or op==1){
for (aux=step,i=0;aux!=0;aux>>= 1)
if (i+aux<=n and v[i+aux]<=x)
i+=aux;
if (!op and v[i]!= x)
fout<<"-1"<<'\n';
else
fout<<i<<'\n';
--m;
continue;
}
for (aux=step,i=n;aux!=0;aux>>=1)
if (i-aux>0 and v[i-aux]>=x)
i-=aux;
fout<<i<<'\n';
--m;
}
return 0;
}