Pagini recente » Cod sursa (job #544633) | Cod sursa (job #2586097) | Cod sursa (job #2176452) | Cod sursa (job #1627763) | Cod sursa (job #2659123)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <set>
#include <algorithm>
#include <list>
#include <map>
#include <math.h>
#define NMAX 100001
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
vector<int> v;
int main() {
int n;
f>>n;
for(int i=1;i<=n;i++){
int x;
f>>x;
v.push_back(x);
}
int m;
f>>m;
for(int i=1;i<=m;i++)
{
int a, b;
f>>a>>b;
if(a == 0)
{
int x = upper_bound(v.begin(), v.end(), b) - v.begin();
if(x <= n && x >= 1 && v[x - 1] == b)g<<x<<'\n';
else g<<"-1\n";
}
else if(a==1)
{
int x = lower_bound(v.begin(), v.end(), b+1) - v.begin();
g<<x<<'\n';
}
else
{
int x = upper_bound(v.begin(), v.end(), b-1) - v.begin()+1;
g<<x<<'\n';
} }
return 0;
}