結果
問題 | No.5020 Averaging |
ユーザー |
![]() |
提出日時 | 2024-02-25 15:47:23 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 64 ms / 1,000 ms |
コード長 | 839 bytes |
コンパイル時間 | 213 ms |
コンパイル使用メモリ | 81,700 KB |
実行使用メモリ | 61,840 KB |
スコア | 18,955,542 |
最終ジャッジ日時 | 2024-02-25 15:47:29 |
合計ジャッジ時間 | 4,357 ms |
ジャッジサーバーID (参考情報) |
judge11 / judge14 |
純コード判定しない問題か言語 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 50 |
ソースコード
import syssys.setrecursionlimit(10**8)input = sys.stdin.readlineAVE = 5 * 10**17N = int(input())AB = [[int(x) for x in input().split()] for _ in range(N)]# INF = float("inf")INF = 1 << 70operator = []best_score = (INF, 0)for _ in range(50):tmp_score = INFtmp_i = 0for i in range(N):a, b = AB[i]score = abs(AVE - (a + AB[0][0]) // 2) + abs(AVE - (b + AB[0][1]) // 2)if score < tmp_score:tmp_score = scoretmp_i = iAB[0][0] = (AB[0][0] + AB[tmp_i][0]) // 2AB[0][1] = (AB[0][1] + AB[tmp_i][1]) // 2AB[tmp_i][0] = AB[0][0]AB[tmp_i][1] = AB[0][1]operator.append((1, tmp_i + 1))if best_score[0] > tmp_score:best_score = (tmp_score, len(operator))print(best_score[1])for op in operator[: best_score[1]]:print(*op)