結果
問題 | No.97 最大の値を求めるくえり |
ユーザー |
![]() |
提出日時 | 2025-03-20 20:34:01 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,320 bytes |
コンパイル時間 | 238 ms |
コンパイル使用メモリ | 82,516 KB |
実行使用メモリ | 89,664 KB |
最終ジャッジ日時 | 2025-03-20 20:35:22 |
合計ジャッジ時間 | 9,245 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 4 TLE * 1 -- * 14 |
ソースコード
import sysMOD = 100003def xor128():global xor128_x, xor128_y, xor128_z, xor128_wt = xor128_x ^ ((xor128_x << 11) & 0xFFFFFFFF)t ^= (t >> 8)xor128_x, xor128_y, xor128_z = xor128_y, xor128_z, xor128_wnew_w = (xor128_w ^ ((xor128_w >> 19) & 0xFFFFFFFF)) ^ tnew_w &= 0xFFFFFFFFxor128_w = new_wreturn xor128_wdef generateA(N):A = []for _ in range(N):val = xor128() % MODA.append(val)return Adef main():input = sys.stdin.read().split()ptr = 0N, Q = int(input[ptr]), int(input[ptr+1])ptr +=2queries = [int(input[ptr+i]) for i in range(Q)]# Initialize xor128 stateglobal xor128_x, xor128_y, xor128_z, xor128_wxor128_x, xor128_y, xor128_z, xor128_w = 123456789, 362436069, 521288629, 88675123# Generate array AA = generateA(N)# Preprocess exist arrayexist = [False] * MODfor a in A:exist[a] = True# Process queriesfor q in queries:if q ==0:print(0)continueinv_q = pow(q, MOD-2, MOD)found = -1for k in range(MOD-1, -1, -1):target_a = (k * inv_q) % MODif exist[target_a]:found = kbreakprint(found)if __name__ == '__main__':main()