結果
| 問題 |
No.5021 Addition Pyramid
|
| コンテスト | |
| ユーザー |
june19312
|
| 提出日時 | 2025-02-25 22:01:05 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,363 bytes |
| コンパイル時間 | 372 ms |
| コンパイル使用メモリ | 82,344 KB |
| 実行使用メモリ | 81,356 KB |
| スコア | 0 |
| 最終ジャッジ日時 | 2025-02-25 22:02:42 |
| 合計ジャッジ時間 | 96,634 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | WA * 50 |
ソースコード
from time import *
start_time = time()
from random import *
from math import *
from sys import *
input = stdin.readline
MAX = 100000000
N = int(input())
score = 10**10
# 誤差関数
def error(a, b):
return min(abs(a - b), MAX - abs(a - b))
tmp = []
for i in range(N):
tmp.append(list(map(int,input().split())))
ans = []
for i in range(N):
ans.append([0]*(i+1))
ans[-1] = tmp[-1][:]
def build():
tmpgosa = 0
for i in range(N):
tmpgosa = max(tmpgosa,error(ans[-1][i],tmp[-1][i]))
for i in range(N-2,-1,-1):
for j in range(i+1):
ans[i][j] = (ans[i+1][j] + ans[i+1][j+1])%100000000
tmpgosa = max(tmpgosa,error(ans[i][j],tmp[i][j]))
return tmpgosa
score = build()
cnt = 0
while time()-start_time < 1.8:
L = randint(0,N)
R = randint(0,N)
if L == R:
continue
elif L > R:
L,R = R,L
before = ans[-1][:]
for j in range(L,R):
ans[-1][j] = randint(0,99999999)
nex = build()
print("nex",nex)
temp = 10000
if nex < score:
score = nex
else:
ans[-1] = before
"""
else:
diff = abs(nex-score)*(-1)
prob = exp(diff/temp)
try1 = random()
if try1 < prob:
score = nex
else:
ans[-1] = before
"""
cnt += 1
print(*ans[-1])
june19312