Description
Khôi phục hoán vị ẩn của bằng truy vấn phần dư mod .
Trạng thái cần tìm được bộ tương tác chọn trước khi phiên bắt đầu và không thay đổi trong suốt phiên. Lời giải không được đọc trực tiếp trạng thái này; mọi thông tin chỉ đến từ các phản hồi hợp lệ của giao thức bên dưới.
Interaction
Đọc đúng một số . Truy vấn ? với khác ; đáp án ! . Flush sau mỗi dòng.
Bộ tương tác trả mod . Dòng đáp án phải chứa đúng giá trị.
Hoán vị đúng nhận AC, sai nhận WA. Sai cú pháp, sai chỉ số hoặc vượt truy vấn nhận lỗi giao thức. Khi nhận hoặc khi luồng vào kết thúc bất thường, chương trình phải dừng ngay. Mọi dòng truy vấn và đáp án đều phải được đẩy khỏi bộ đệm, chẳng hạn bằng endl hoặc cout.flush() trong C++.
Constraints
- . Dãy ẩn là một hoán vị của và được dùng tối đa truy vấn.
Scoring
- Subtask
small- điểm: mười hidden session đầu dùng kích thước nhỏ để kiểm tra mô hình giao thức và các trường hợp biên cơ bản. - Subtask
full- điểm: mười hidden session còn lại dùng toàn bộ giới hạn, gồm ít nhất hai session bổ sung cho nhau khi contract có nhiều đại lượng kích thước. - Mỗi hidden session có giá trị điểm. Một session chỉ được tính điểm khi toàn bộ cuộc hội thoại kết thúc với verdict AC.
Example interaction
Mẫu E01
Bộ tương tác -> Lời giải: 2
Lời giải -> Bộ tương tác: ? 1 2
Lời giải -> Bộ tương tác: ? 2 1
Bộ tương tác -> Lời giải: 0
Bộ tương tác -> Lời giải: 1
Lời giải -> Bộ tương tác: ! 2 1
Kết quả: AC
Giải thích: Trong phiên mẫu có hai vị trí. Hai truy vấn ngược chiều xác định ngay giá trị ở vị trí nhỏ hơn; vị trí còn lại bắt buộc chứa 2, nên hoán vị được khôi phục chính xác.