Pagini recente » Cod sursa (job #480465) | Cod sursa (job #2602240) | Cod sursa (job #2919494) | Cod sursa (job #923815) | Cod sursa (job #1785620)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int n, m;
vector<int> v;
int main()
{
in >> n;
v.resize(n + 1);
for(int i = 1; i <= n; ++i)
in >> v[i];
in >> m;
int tip, x;
for(int i = 1; i <= m; ++i)
{
in >> tip >> x;
if(tip == 0)
{
vector<int>::iterator it = upper_bound(v.begin() + 1, v.end(), x);
int p = it - v.begin() - 1;
if(v[p] == x)
out << p << "\n";
else
out << "-1" << "\n";
}
else if(tip == 1)
{
vector<int>::iterator it = upper_bound(v.begin() + 1, v.end(), x);
int p = it - v.begin() - 1;
out << p << "\n";
}
else if(tip == 2)
{
vector<int>::iterator it = lower_bound(v.begin() + 1, v.end(), x);
int p = it - v.begin();
out << p << "\n";
}
}
return 0;
}