Pagini recente » Cod sursa (job #1261060) | Cod sursa (job #102475) | Cod sursa (job #234187) | Cod sursa (job #2498234) | Cod sursa (job #2209857)
#include <iostream>
#include <cstdio>
using namespace std;
int v[100001],n;
int cer1(int x){
int st=1,dr=n,elem;
int mij;
elem=-1;
while(st<=dr){
mij=(st+dr)/2;
if(v[mij]==x){
st=mij+1;
elem=mij;
}
else{
if(v[mij]<x)
st=mij+1;
else
dr=mij-1;
}
}
return elem;
};
int cer2(int x){
int st=1,dr=n,elem;
int mij;
elem=-1;
while(st<=dr){
mij+(st+dr)/2;
if(v[mij]>x)
dr=mij-1;
else{
elem=mij;
st=dr+1;
}
}
return elem;
};
int cer3(int x){
int st=1,dr=n,elem;
int mij;
elem=-1;
while(st<=dr){
mij=(st+dr)/2;
if(v[mij]<x)
st=mij+1;
else{
elem=mij;
dr=mij-1;
}
}
};
int main()
{
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
int i,x,m,cer;
cin>>n;
for(i=1;i<=n;i++){
cin>>v[i];
}
cin>>m;
for(i=1;i<=m;i++){
cin>>cer>>x;
if(cer==0)
cout<<cer1(x)<<endl;
}
return 0;
}