結果

問題 No.702 中央値を求めよ LIMITED
ユーザー tjaketjake
提出日時 2018-06-15 23:07:09
言語 PyPy3
(7.3.15)
結果
MLE  
実行時間 -
コード長 650 bytes
コンパイル時間 139 ms
コンパイル使用メモリ 82,404 KB
実行使用メモリ 64,440 KB
最終ジャッジ日時 2024-06-30 15:25:51
合計ジャッジ時間 73,619 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample MLE * 2
other MLE * 25
権限があれば一括ダウンロードができます

ソースコード

diff #

s = int(input())
A = 10000001
MOD = 2**32
def gen():
    x = s; y = 1; z = 2; w = 3
    for i in range(A):
        t = (x ^ (x << 11)) % MOD
        x, y, z, w = y, z, w, (w ^ (w >> 19)) ^ (t ^ (t >> 8))
        yield w

B = A//2
left = 2146000000; right = 2149000000
while left+1 < right:
    x = s; y = 1; z = 2; w = 3
    mid = (left + right) // 2
    cnt = 0
    for i in range(A):
        t = (x^(x << 11)) % MOD
        x = y; y = z; z = w; w = (w ^ (w >> 19)) ^ (t ^ (t >> 8))
        if mid < w:
            cnt += 1
            if cnt > B:
                break
    if cnt > B:
        left = mid
    else:
        right = mid
print(left+1)
0