結果
問題 |
No.5020 Averaging
|
ユーザー |
|
提出日時 | 2024-02-25 16:51:42 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 946 ms / 1,000 ms |
コード長 | 949 bytes |
コンパイル時間 | 269 ms |
コンパイル使用メモリ | 81,700 KB |
実行使用メモリ | 78,772 KB |
スコア | 29,266,440 |
最終ジャッジ日時 | 2024-02-25 16:52:54 |
合計ジャッジ時間 | 50,386 ms |
ジャッジサーバーID (参考情報) |
judge10 / judge11 |
純コード判定しない問題か言語 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 50 |
ソースコード
def score(a, b): return max(abs(a-5*10**17), abs(b-5*10**17)) import time import random import sys input = sys.stdin.readline N = int(input()) AB = [list(map(int, input().split())) for _ in range(N)] st_time = time.time() A = [] B = [] for a, b in AB: A.append(a) B.append(b) min_ans = [] ini_sco = min_sco = score(A[0], B[0]) while time.time()-st_time<0.9: AA = A[:] BB = B[:] ans = [] for i in range(50): if i%5==0: u = v = 0 else: u = v = random.randrange(N) while u==v: v = random.randrange(N) AA[u] = AA[v] = (AA[u]+AA[v])//2 BB[u] = BB[v] = (BB[u]+BB[v])//2 ans.append((u+1, v+1)) if u==0 or v==0: sco = score(AA[0], BB[0]) if sco<min_sco: min_sco = sco min_ans = ans[:] print(sco, file=sys.stderr) print(len(min_ans)) for a in min_ans: print(*a)