#include #include using namespace std; int op(int a, int b) { return max(a, b); } int e() { return 0; } int x; bool f(int v) { return v <= x; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N, Q; cin >> N >> Q; vector A(N); for (int i = 0; i < N; i++) { cin >> A[i]; } atcoder::segtree seg(A); while (Q--) { int c; cin >> c >> x; if (seg.all_prod() <= x) { cout << "-1\n"; continue; } if (c == 1) { int idx = seg.max_right(0); cout << idx + 1 << endl; seg.set(idx, 0); } else { int idx = seg.min_left(N); cout << idx << endl; seg.set(idx - 1, 0); } } }