Pagini recente » Cod sursa (job #1959840) | Cod sursa (job #648497) | Cod sursa (job #751500) | Cod sursa (job #807606) | Cod sursa (job #1136014)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int N;
vector<int> v;
void read()
{
int x;
scanf("%d",&N);
for(int i = 1; i <= N; ++i){
scanf("%d",&x);
v.push_back(x);
}
scanf("%d",&N);
}
int main()
{
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
read();
int val,tip,pz;
for(int i = 1; i <= N; ++i)
{
scanf("%d%d",&tip,&val);
if(tip == 0)
{
pz = upper_bound(v.begin(),v.end(),val) - v.begin();
if(v[pz-1] != val) printf("-1\n");
else printf("%d\n",pz);
}
else if(tip == 1)
{
pz = lower_bound(v.begin(),v.end(),val+1) - v.begin();
printf("%d\n",pz);
}
else if(tip == 2)
{
pz = upper_bound(v.begin(),v.end(),val-1) - v.begin() + 1;
printf("%d\n",pz);
}
}
return 0;
}