Pagini recente » Cod sursa (job #1692077) | Cod sursa (job #942576) | Cod sursa (job #2362613) | Cod sursa (job #1782145) | Cod sursa (job #1772733)
# include <fstream>
# define DIM 100010
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int v[DIM],n,m,i,j,x,val,step;
int main () {
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
fin>>m;
for(i=1;i<=m;i++){
fin>>val>>x;
if(val==0){
for(step=1;step<=n;step<<=1);
for(j=0;step;step>>=1)
if(j+step<=n&&v[j+step]<=x)
j+=step;
if(v[j]==x)
fout<<j<<"\n";
else
fout<<-1<<"\n";
continue;
}
if(val==1){
for(step=1;step<=n;step<<=1);
for(j=0;step;step>>=1)
if(j+step<=n&&v[j+step]<=x)
j+=step;
fout<<j<<"\n";
continue;
}
for(step=1;step<=n;step<<=1);
for(j=0;step;step>>=1)
if(j+step<=n&&v[j+step]<x)
j+=step;
fout<<j+1<<"\n";
}
return 0;
}