Pagini recente » Cod sursa (job #1319309) | Cod sursa (job #1141561) | Cod sursa (job #2450110) | Cod sursa (job #224774) | Cod sursa (job #2403961)
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream in ("ax.in");
ofstream out ("ax.out");
int main()
{
vector<int> v;
int n,k;
in>>n;
for (int i=1;i<=n;++i)
in>>k,v.push_back(k);
vector<int>::iterator a;
int m;
in>>m;
for (int i=1;i<=m;++i)
{
in>>k;
if (k==0)
{
int l;
in>>l;
if (!binary_search(v.begin(),v.end(),l))
{
out<<-1;
continue;
}
else
{
a=upper_bound(v.begin(),v.end(),l);
while (v[*a]==l)
a++;
a--;
out<<*a+1<<'\n';
}
}
if (k==1)
{
int l;
in>>l;
a=lower_bound(v.begin(),v.end(),l);
while (v[*a]==l)
a++;
a--;
out<<*a+1<<'\n';
}
if (k==2)
{
int l;
in>>l;
if (binary_search(v.begin(),v.end(),l))
{
a=lower_bound(v.begin(),v.end(),l);
out<<*a-1<<'\n';
}
else
{
a=upper_bound(v.begin(),v.end(),l);
out<<*a<<'\n';
}
}
}
return 0;
}