結果
問題 | No.1255 ハイレーツ・オブ・ボリビアン |
ユーザー | tktk_snsn |
提出日時 | 2021-04-24 15:08:33 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,398 ms / 2,000 ms |
コード長 | 578 bytes |
コンパイル時間 | 290 ms |
コンパイル使用メモリ | 82,228 KB |
実行使用メモリ | 308,004 KB |
最終ジャッジ日時 | 2024-07-04 09:06:10 |
合計ジャッジ時間 | 8,639 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 15 |
ソースコード
from collections import defaultdict import sys input = sys.stdin.readline inf = 10**18 def main(): N = int(input()) mod = 2*N-1 n = int(mod**0.5)+1 ans = inf memo = defaultdict(list) X = pow(2, n, mod) two = 1 for p in range(1, n+1): two = two * X % mod memo[two].append(p) two = 1 for q in range(n): if memo[two]: val = n * memo[two][0] - q if val: ans = min(ans, val) two = two * 2 % mod return ans T = int(input()) for _ in range(T): print(main())