結果
| 問題 |
No.702 中央値を求めよ LIMITED
|
| コンテスト | |
| ユーザー |
tjake
|
| 提出日時 | 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 |
ソースコード
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)
tjake