Pagini recente » Monitorul de evaluare | Cod sursa (job #2002287) | Rating Teodor Melega (Teodor_ICT2) | Cod sursa (job #1781884) | Cod sursa (job #2011191)
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
int n,m,i,x;
vector<int> a;
vector<int>::iterator j;
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++) {scanf("%d",&x); a.push_back(x);}
scanf("%d",&m);
while(m)
{
scanf("%d %d",&n,&x);
if(n==0)
{
j=upper_bound(a.begin(),a.end(),x);
if(binary_search(a.begin(),a.end(),x))
printf("%d\n",(int)(j-a.begin()));
else printf("-1\n");
}
if(n==1)
{
j=upper_bound(a.begin(),a.end(),x);
printf("%d\n",(int)(j-a.begin()));
}
if(n==2)
{
j=lower_bound(a.begin(),a.end(),x);
printf("%d\n",(int)(j-a.begin())+1);
}
m--;
}
return 0;
}