CSES - K-th Highest Score | Điểm Cao Thứ k

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: 1800 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

\(n\) lập trình viên từ Phần Lan và \(n\) lập trình viên từ Thụy Điển trong một cuộc thi lập trình. Sau cuộc thi, mỗi lập trình viên có một điểm số khác nhau.

Nhiệm vụ của bạn là tìm điểm số cao thứ \(k\) trong cuộc thi.

Để làm điều này, bạn có thể đặt câu hỏi: bạn chọn một quốc gia (Phần Lan hoặc Thụy Điển) và một số nguyên \(i\), rồi sẽ được cho biết điểm số cao thứ \(i\) của quốc gia đã chọn.

Interaction

Đây là một bài toán tương tác. Chương trình của bạn sẽ tương tác với trình chấm qua đầu vào và đầu ra chuẩn. Bạn nên bắt đầu bằng cách đọc hai số nguyên \(n\)\(k\).

Ở lượt của mình, bạn có thể in một trong các dạng sau:

  • "\(\mathrm{F}\ i\)", với \(1 \le i \le n\): hỏi điểm số cao thứ \(i\) của Phần Lan.

  • "\(\mathrm{S}\ i\)", với \(1 \le i \le n\): hỏi điểm số cao thứ \(i\) của Thụy Điển.

  • "\(!\ s\)": báo rằng điểm số cao thứ \(k\)\(s\). Chương trình của bạn phải kết thúc sau đó.

Mỗi dòng phải được theo sau bởi ký tự xuống dòng. Bạn phải đảm bảo đầu ra được flush sau khi in mỗi dòng.

Constraints

  • \(1 \le n \le 10^5\)

  • \(1 \le k \le 2n\)

  • mỗi điểm số nằm trong khoảng từ \(1\) đến \(10^9\)

  • bạn có thể hỏi tổng cộng nhiều nhất \(100\) truy vấn thuộc hai loại đầu tiên

Example

3 1
F 1
9
S 1
8
! 9

Giải thích: Điểm số của Phần Lan là \([9, 4, 3]\) và điểm số của Thụy Điển là \([8, 6, 1]\). Vì \(k = 1\), nhiệm vụ là tìm điểm số cao nhất tổng thể, trong trường hợp này là \(9\).

Bình luận

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

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