#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9 + 7;
const int MAXN = 2e5 + 5;
int N, Q;
int tree[4 * MAXN]; // 线段树,存储每个年龄的最新下车车站
// 更新线段树
void update(int idx, int l, int r, int pos, int val) {
if (l == r) {
tree[idx] = val;
return;
}
int mid = (l + r) / 2;
if (pos <= mid) {
update(2 * idx, l, mid, pos, val);
} else {
update(2 * idx + 1, mid + 1, r, pos, val);
}
tree[idx] = min(tree[2 * idx], tree[2 * idx + 1]);
}
// 查询区间 [ql, qr] 中第一个满足车站值 ≤ Y 的年龄
int query(int idx, int l, int r, int ql, int qr, int Y) {
if (r < ql || l > qr) return -1; // 超出查询范围
if (tree[idx] > Y) return -1; // 整个区间的最小车站都大于Y
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
}