Pagini recente » Cod sursa (job #1881854) | Cod sursa (job #1981056) | Cod sursa (job #1661737) | Cod sursa (job #606977) | Cod sursa (job #2710466)
#include<iostream>
#include<fstream>
#include<algorithm>
#include<vector>
#include<iterator>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int n, m;
vector<int> a;
int main()
{
f >> n;
for (int i = 1; i <= n; i++)
{
int x;
f >> x;
a.push_back(x);
}
sort(begin(a), end(a));
f >> m;
for (int i = 1; i <= m; i++)
{
int q, x;
vector<int>::iterator it;
f >> q >> x;
switch (q)
{
case 0:
it = upper_bound(begin(a), end(a), x);
if ( *(it-1) == x)
g << it-begin(a);
else
g << -1 ;
break;
case 1:
it = lower_bound(begin(a), end(a), x + 1);
g << it-begin(a);
break;
case 2:
it = upper_bound(begin(a), end(a), x - 1);
g<< it - begin(a) + 1;
break;
}
g << endl;
}
}