Pagini recente » Statistici Alina (Alina_) | Cod sursa (job #2010998) | Cod sursa (job #961305) | Istoria paginii runda/leftbehind/clasament | Cod sursa (job #1683780)
#include <algorithm>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
const int NLIM = 100005;
int V[NLIM];
int N, M;
void Read()
{
fin >> N;
for(int i = 1; i <= N; i++)
fin >> V[i];
}
void Solve()
{
fin >> M;
for(int i = 1; i <= M; i++)
{
int _case, x, result;
fin >> _case >> x;
if(_case == 0)
{
result = upper_bound(V+1, V+N+1, x) - V - 1;
if(result >= 1 && result <= N && V[result] == x)
{
fout << result << "\n";
}
else
fout << "-1\n";
}
if(_case == 1)
{
result = lower_bound(V+1, V+N+1, x+1) - V - 1;
fout << result << "\n";
}
if(_case == 2)
{
result = upper_bound(V+1, V+N+1, x-1) - V;
fout << result << "\n";
}
}
}
int main()
{
Read();
Solve();
return 0;
}