結果
問題 | No.1830 Balanced Majority |
ユーザー |
![]() |
提出日時 | 2022-02-04 21:48:00 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 64 ms / 2,000 ms |
コード長 | 841 bytes |
コンパイル時間 | 177 ms |
コンパイル使用メモリ | 82,816 KB |
実行使用メモリ | 69,472 KB |
平均クエリ数 | 7.54 |
最終ジャッジ日時 | 2024-06-11 11:41:11 |
合計ジャッジ時間 | 3,352 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 25 |
ソースコード
mod = 1000000007eps = 10**-9def main():import sysinput = sys.stdin.readlinedef ask(k):print("?", k)sys.stdout.flush()return int(input())N = int(input())s0 = ask(1)s1 = ask(N - 1)s0 = s0 - (1 - s0)s1 = s1 - (N - 1 - s1)if s0 == s1:print("!", 2, N - 1)sys.stdout.flush()exit()ll = s0rr = s1l = 1r = N - 1for _ in range(18):mid = (l + r) // 2s = ask(mid)s = s - (mid - s)if s == 0:if mid < N // 2:print("!", mid + 1, N)else:print("!", 1, mid)sys.stdout.flush()exit()if s // abs(s) == ll:l = midelse:r = midif __name__ == '__main__':main()