Pagini recente » Cod sursa (job #1374583) | Cod sursa (job #783837) | Cod sursa (job #850191) | Cod sursa (job #1576441) | Cod sursa (job #2236290)
#include <bits/stdc++.h>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
vector<int> v;
int n,m;
int main()
{
int x;
int y;
f>>n;
for(; n; n--)
{
f>>x;
v.push_back(x);
}
f>>m;
for(; m; m--)
{
f>>x>>y;
if(x==0)
{
auto it=upper_bound(v.begin(),v.end(),y);
if(*(it-1)==y)g<<distance(v.begin(),it-1)+1<<'\n';
else g<<"-1\n";
}
if(x==1)
{
auto it=lower_bound(v.begin(),v.end(),y);
if(*it==y)g<<distance(v.begin(),upper_bound(v.begin(),v.end(),y)-1)+1<<'\n';
else g<<distance(v.begin(),it-1)+1<<'\n';
}
if(x==2)
{
g<<distance(v.begin(),lower_bound(v.begin(),v.end(),y))+1<<'\n';
}
}
}