CSES - K-th Highest Score | Điểm Cao Thứ k
Xem PDFCó \(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\) và \(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\) là \(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