結果
問題 | No.5020 Averaging |
ユーザー | miya145592 |
提出日時 | 2024-02-25 14:57:38 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 941 ms / 1,000 ms |
コード長 | 846 bytes |
コンパイル時間 | 260 ms |
コンパイル使用メモリ | 81,700 KB |
実行使用メモリ | 78,780 KB |
スコア | 27,027,136 |
最終ジャッジ日時 | 2024-02-25 14:58:29 |
合計ジャッジ時間 | 49,981 ms |
ジャッジサーバーID (参考情報) |
judge14 / judge15 |
純コード判定しない問題か言語 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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 _ in range(50): 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(len(min_ans)) for a in min_ans: print(*a)