Pagini recente » Cod sursa (job #2850394) | Cod sursa (job #2910655) | Cod sursa (job #2943268) | Cod sursa (job #463160) | Cod sursa (job #2516269)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
vector<int> v;
int main()
{
ios_base::sync_with_stdio(false);
in.tie(0),out.tie(0);
int n,a,ind;
in>>n;
for(int i=1;i<=n;++i)
{
in>>a;
v.push_back(a);
}
int m,tip,x;
in>>m;
for(int j=1;j<=m;++j)
{
in>>tip>>x;
if(tip==0)
{
ind=upper_bound(v.begin(),v.end(),x)-v.begin()-1;
if(ind<v.size() and v[ind]==x)
out<<ind+1<<endl;
else out<<-1<<endl;
}
else if(tip==1)
{
ind=upper_bound(v.begin(),v.end(),x)-v.begin()-1;
out<<ind+1<<endl;
}
else if(tip==2)
{
int ind=lower_bound(v.begin(),v.end(),x)-v.begin();
out<<ind+1<<endl;
}
}
return 0;
}