Pagini recente » Cod sursa (job #910633) | Cod sursa (job #1804106) | Cod sursa (job #1541777) | Cod sursa (job #2075965) | Cod sursa (job #1756816)
#include <fstream>
using namespace std;
int v[100010],n,p,q,a;
int c(int x){int p=0,q=(1<<20);while(q>0){if(p+q<=n&&v[p+q]<=x){p+=q;}q/=2;}return p;}
int main()
{ifstream in("cautbin.in");in>>n;for(int i=1;i<=n;i++){in>>v[i];}ofstream out("cautbin.out");int op,w,m;in>>m;while(m--){in>>op>>w;if(op==0){a=c(w);out<<(v[a]==w?a:-1)<<'\n';}else if(op==1){out<<c(w)<<'\n';}else{out<<1+c(w-1)<<'\n';}}return 0;}