Phần tử đầu tiên

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1100 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một mảng \(A\) gồm \(N\) số nguyên, cung cấp cho bạn các thao tác sau:

  • 1 x: Thêm phần tử \(x\) vào mảng \(A\)
  • 2 x: Xóa phần tử \(x\) khỏi mảng \(A\) nếu \(x\) tồn tại trong mảng, và nếu \(x\) xuất hiện nhiều lần bạn chỉ xóa đi 1 phần tử duy nhất.
  • 3 x: Chỉ ra giá trị đầu tiên của phần tử \(\ge x\) trong \(A\) khi mảng \(A\) được sắp xếp tăng dần, nếu không tồn tại in ra -1
  • 4 x: In ra giá trị của phần tử lớn nhất \(\le x\) trong mảng \(A\), nếu không tồn tại phần tử này thì in ra -1.

Input

  • Dòng \(1\)\(N\).
  • Dòng \(2\)\(N\) phần tử \(A[i]\).
  • Dòng \(3\) là số lượng thao tác \(T\).
  • \(T\) dòng tiếp theo mô tả thao tác.

Constraints

  • \(1 \le N \le 1000\)
  • \(1 \le A[i], x \le 1000\)
  • \(1 \le T \le 1000\)

Output

  • Đối với thao tác \(3\)\(4\), in ra kết quả tương ứng.

Example

Test 1

Input
9
6 4 9 3 8 6 8 1 6
9
4 3
4 6
3 6
3 4
1 6
2 6
2 7
4 4
1 4
Output
3
6
6
4
4

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.