Ba Cây Bīngqílín

Xem dạng PDF

Gửi bài giải


Điểm: 1,20 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Quatkun có hai em gái là Belan và Becuc. Hôm nay Quatkun trở về nhà với chiếc Bīngqílín 2023 trên tay. Belan và Becuc thấy chiếc kem thật ngon mắt và cũng rất muốn thưởng thức loại kem này. Do đó Quatkun đã chỉ hai chị em mua kem ở cửa hàng kem Bedao.

Trong quán kem Bedao hiện tại có ~n~ cây kem. Cây kem thứ ~i~ hiện tại đang có kích thước là ~a_i~. Cửa hàng kem không bán hai cây kem nào có kích thước giống nhau. Tuy tất cả các cây kem đều là Bīngqílín 2023, nhưng hai chị em lại muốn hai cây kem có kích thước gần giống với chiếc kem của anh Quatkun nhất. Cụ thể hơn, nếu hiện tại cây kem của Quatkun có kích thước là ~k~ (~k \not \in a~), thì Belan và Becuc muốn chọn ra hai cây kem ~i~ và ~j~, sao cho ~a_i < k < a_j~ và ~|a_j - a_i|~ là nhỏ nhất.

Những cây kem ngon lành là vậy, nhưng chúng sẽ bị tan chảy theo thời gian. Tuy vậy, độ tan chảy của các cây kem là như nhau, nên nếu như cây kem ~x~ bé hơn cây kem ~y~, sau một thời gian cây kem ~x~ vẫn sẽ bé hơn cây kem ~y~. Ba anh em chỉ không thực sự biết kích thước của các cây kem tại mỗi thời điểm.

Vậy làm sao hai chị em có thể tìm ra được cây hai cây kem để đến khi về nhà, hai cây kem mà hai chị em chọn vẫn là hai cây kem gần với cây kem của Quatkun nhất trong số rất nhiều cây kem có trong cửa hàng? Cả ba anh em đều được trang bị điện thoại thông minh tân tiến nhất, do đó cả ba anh em quyết định tận dụng công nghệ. Tại mỗi một thời điểm, ba anh em có thể làm một trong hai thao tác sau:

  1. Belan và Becuc sẽ chọn ra hai chỉ số ~i~ và ~j~ (~1 \le i \le n~, ~i \ne j~). Belan sẽ đi chụp ảnh cây kem thứ ~i~ và Becuc sẽ chụp ảnh cây kem thứ ~j~. Sau đó hai chị em sẽ cùng so sánh hai bức hình với nhau, xem cây kem nào to hơn và cây kem nào nhỏ hơn. Với thao tác này, điện thoại của Belan sẽ bị giảm đi ~1~ đơn vị pin.

  2. Belan và Becuc sẽ chọn ra chỉ số ~i~ (~1 \le i \le n~). Sau đó Becuc sẽ đi chụp hình cây kem thứ ~i~, trong khi đó Belan sẽ bảo Quatkun chụp lại cây kem của Quatkun và gửi cho mình. Sau đó hai chị em sẽ cùng so sánh hai bức hình với nhau, xem cây kem nào to hơn và cây kem nào nhỏ hơn. Với thao tác này, điện thoại của Belan sẽ bị giảm đi ~1000~ đơn vị pin, do bức hình phải được gửi cho Belan qua internet.

Vì các bức ảnh được chụp đồng thời, và mạng internet rất nhanh, nên việc so sánh các cây kem thông qua các bức ảnh tại mỗi thời điểm là rất chính xác.

Hiện tại điện thoại của Becuc còn rất nhiều pin, tuy nhiên điện thoại của Belan chỉ còn ~90\,000~ đơn vị pin. Hãy giúp hai chị em tìm ra chiến thuật để chọn ra hai cây kem thỏa mãn yêu cầu trước khi smartphone của Belan hết pin.

Interaction protocol

Chương trình của bạn sẽ trong vai ba anh em, cần đưa ra chiến thuật chọn các cây kem để chụp tối ưu nhất. Chương trình của jury (giám khảo) sẽ nhận thao tác từ chương trình của bạn, và trả ra kết quả so sánh kích thước các cây kem tại thời điểm hiện tại.

Đầu tiên chương trình của bạn cần đọc vào một số ~n~ (~2 \le n \le 10\,000~) - số lượng cây kem trong cửa hàng.

Tiếp đó bạn cần thao tác với chương trình của jury bằng việc in ra:

  • "~\texttt{compare}\ \ i\ j~" (~1 \le i, j \le n~, ~i \ne j~) - thực hiện thao tác 1 mô tả ở trên với hai chỉ số là ~i~ và ~j~. Thao tác này tốn ~1~ đơn vị pin. Sau đó bạn cần đọc vào một kí tự ~c~:
    • nếu ~c~ là "~\texttt{<}~", cây kem thứ ~i~ bé hơn cây kem thứ ~j~
    • nếu ~c~ là "~\texttt{>}~", cây kem thứ ~i~ lớn hơn cây kem thứ ~j~
  • "~\texttt{compare_k}\ \ i~" (~1 \le i \le n~) - thực hiện thao tác 2 mô tả ở trên với chỉ số ~i~. Thao tác này tốn ~1000~ đơn vị pin. Sau đó bạn cần đọc vào một kí tự ~c~:
    • nếu ~c~ là "~\texttt{<}~", cây kem thứ ~i~ bé hơn cây kem của Quankun
    • nếu ~c~ là "~\texttt{>}~", cây kem thứ ~i~ lớn hơn cây kem của Quankun

Khi đã tìm được đáp án, bạn cần in ra một trong hai câu lệnh sau và kết thúc chương trình:

  • ~\texttt{answer}\ \ i\ j~ (~1 \le i, j \le n~, ~i \ne j~) - thông báo với chương trình của jury là bạn đã tìm thấy hai cây kem ~i~ và ~j~ thỏa mãn ~a_i < k < a_j~ và ~|a_i - a_j|~ nhỏ nhất có thể.
  • ~\texttt{no_answer}~ - thông báo với chương trình của jury là bạn không tìm thấy hai cây kem thỏa mãn.

Hai thao tác trả lời đều không tốn pin.

Nhắc lại rằng smartphone của Belan còn ~90\,000~ đơn vị pin. Bạn sẽ bị chấm sai nếu như tại một thời điểm nào đó, điện thoại của Belan hết pin (đơn vị pin trở thành một số âm).

Dữ liệu đảm bảo kích thước của tất cả các cây kem là khác nhau (~a_i \ne a_j, i \ne j~ và ~k \ne a_i~).

Dãy ~a~ được chọn trước khi chấm, không phụ thuộc vào câu trả lời của thí sinh.

Scoring

  • Subtask 1 (~250~ điểm): ~N \leq 20~.

  • Subtask 2 (~250~ điểm): ~N \leq 1000~.

  • Subtask 3 (~500~ điểm): ~N \leq 6000~.

  • Subtask 4 (~800~ điểm): Không có điều kiện gì thêm.

Tổng cộng bài toán có ~1800~ điểm.

Sample Interaction 1

Stdin Stdout Chú thích
2 Trong cửa hàng còn ~n = 2~ cây Bīngqílín 2023
compare_k 1 Hỏi: So sánh cây cây Bīngqílín 2023 của Quatkun với cây Bīngqílín 2023 thứ ~1~ trong cửa hàng
< Trả lời: cây thứ ~1~ trong cửa hàng bé hơn cây của Quatkun
compare_k 2 Hỏi: So sánh cây cây Bīngqílín 2023 của Quatkun với cây Bīngqílín 2023 thứ ~2~ trong cửa hàng
> Trả lời: cây thứ ~2~ trong cửa hàng lớn hơn cây của Quatkun
answer 1 2 Đã tìm thấy kết quả: cây kem thứ ~1~ và thứ ~2~ thỏa mãn đề bài

Trong ví dụ này, có thể giả sử rằng cây Bīngqílín 2023 còn lại trong cửa hàng có kích thước thể hiện bởi dãy số ~[1, 3]~, và cây Bīngqílín 2023 của Quatkun có kích thước ~k = 2~.

Vì có hai câu hỏi dạng compare_k, số lượng pin đã tiêu thụ là ~1000 \cdot 2 = 2000~.

Sample interaction 2

Stdin Stdout Chú thích
4 Trong cửa hàng còn ~n = 4~ cây Bīngqílín 2023
compare 1 2 Hỏi: So sánh cây cây Bīngqílín 2023 thứ ~1~ và ~2~ trong cửa hàng
< Trả lời: cây thứ ~1~ bé hơn cây thứ ~2~
compare 3 2 Hỏi: So sánh cây cây Bīngqílín 2023 thứ ~3~ và ~2~ trong cửa hàng
> Trả lời: cây thứ ~3~ lớn hơn cây thứ ~2~
compare_k 3 Hỏi: So sánh cây cây Bīngqílín 2023 của Quatkun với cây Bīngqílín 2023 thứ ~3~ trong cửa hàng
< Trả lời: cây thứ ~3~ trong cửa hàng bé hơn cây của Quatkun
compare_k 4 Hỏi: So sánh cây cây Bīngqílín 2023 của Quatkun với cây Bīngqílín 2023 thứ ~4~ trong cửa hàng
< Trả lời: cây thứ ~4~ trong cửa hàng bé hơn cây của Quatkun
no_answer Đã tìm thấy kết quả: không có hai cây kem nào thỏa mãn đề bài

Trong ví dụ này, trong của hàng kem của Bedao có ~n = 4~ cây kem. Sau hai câu hỏi đầu tiên, ta biết rằng cây kem thứ ~3~ lớn hơn cây Bīngqílín 2023 thứ ~1~ và cây kem thứ ~2~. Sau hai câu hỏi cuối cùng, suy ra được cây Bīngqílín 2023 của Quatkun lớn hơn cây kem thứ ~3~ và thứ ~4~. Vậy không có cây kem nào trong của hàng lớn hơn cây kem của Quatkun, đồng nghĩa với việc không có đáp án thỏa mãn đề bài.

Hai câu hỏi đầu tiên có dạng compare, và hai câu hỏi sau đó có dạng compare_k. Vậy tổng luợng pin đã tiêu thụ là ~2 \cdot 1 + 2 \cdot 1000 = 2002~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.