Pagini recente » Cod sursa (job #1667580) | Cod sursa (job #2396720) | Cod sursa (job #1047769) | Istoria paginii runda/simulare_oji_2023_clasele_11_12_17_martiee/clasament | Cod sursa (job #2372114)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream f("date.in");
ofstream g("date.out");
int main()
{
vector <int> v;
int n, c, a, x, p;
f >> n;
for (int i = 1; i <= n; i++) {
f >> a;
v.push_back(a);
}
f >> c;
for (int i = 1; i <= c; i++) {
f >> a >> x;
if (a == 0) {
p = upper_bound(v.begin(), v.end(), x) - v.begin();
if (p < v.size()) g << p << endl;
else g << -1;
}
else if (a == 1) {
p = lower_bound(v.begin(), v.end(), x + 1) - v.begin();
g << p << endl;
}
else {
p = upper_bound(v.begin(), v.end(), x - 1) - v.begin() + 1;
g << p << endl;
}
}
f.close();
g.close();
cout << endl;
system("pause");
}