Pagini recente » Cod sursa (job #437961) | Cod sursa (job #1309174) | Cod sursa (job #112959) | Cod sursa (job #2186785) | Cod sursa (job #1766392)
//#include <cstdio>
#include<iostream>
#include <fstream>
using namespace std;
//FILE *re=fopen("cautbin.in","r"),*wr=fopen("cautbin.out","w");
ifstream fin ("cautbin.in");
ofstream fout ("cautbin.out");
int n, vect[10000],m;
int bin(int i,int j,int x)
{
int m=(i+j)/2;
if(i==j)return i;
if(x<vect[m])return (bin(i,m,x));
else return(bin(m+1,j,x));
}
int main()
{
fin>>n;
//fscanf(re,"%d",&n);
int i,cmmandid,subject;
vect[n]=2147483647;
for(i=0; i<n; ++i)fin>>vect[i];
//fscanf(re,"%d",&vect[i]);
//fscanf(re,"%d",&m);
fin>>m;
for(i=0; i<m; ++i)
{
fin>>cmmandid>>subject;
//fscanf(re,"%d%d",&cmmandid,&subject);
if(cmmandid==0)
{
int x=bin(0,n-1,subject);
if(vect[--x]==subject)
fout<<x+1<<'\n';
//fprintf(wr,"%d\n",x+1);
else
fout<<-1<<'\n';
//fprintf(wr,"%d\n",-1);
}
if(cmmandid==1)
{
int x=bin(0,n-1,subject);
fout<<x<<'\n';
//fprintf(wr,"%d\n",x);
}
if(cmmandid==2)
{
int x=bin(0,n-1,subject-1);
fout<<x+1<<'\n';
//fprintf(wr,"%d\n",x+1);
}
}
return 0;
}