Pagini recente » Cod sursa (job #2097070) | Cod sursa (job #2941915) | Cod sursa (job #1474211) | Cod sursa (job #2329991) | Cod sursa (job #1425824)
#include<fstream>
using namespace std;
ifstream f("cautbin.in"); ofstream g("cautbin.out");
int v[100001];
int main()
{ int n,i,k,m;
f>>n;
for(i=1; i<=n; i++) f>>v[i];
f>>k;
while(k--)
{ int t,x,st,dr;
f>>t>>x;
if(t==0)
{ st=1; dr=n;
while(st<dr)
{ m=(st+dr)/2;
if(v[m]<=x) st=m+1; else dr=m-1;
}
st--;
if(v[st]==x) g<<st<<"\n"; else g<<"-1\n";
};
if(t==1)
{ st=1; dr=n;
while(st<dr)
{ m=(st+dr)/2;
if(v[m]<=x) st=m+1; else dr=m-1;
}
st--;
g<<st<<"\n";
};
if(t==2)
{ st=1; dr=n;
while(st<dr)
{ m=(st+dr)/2;
if(x<=v[m]) dr=m-1; else st=m+1;
}
g<<st<<"\n";
};
}
g.close();
return 0;
}