結果
問題 | No.5020 Averaging |
ユーザー |
|
提出日時 | 2024-08-06 04:14:58 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,767 bytes |
コンパイル時間 | 416 ms |
コンパイル使用メモリ | 82,244 KB |
実行使用メモリ | 67,572 KB |
スコア | 12,719,802 |
最終ジャッジ日時 | 2024-08-06 04:15:04 |
合計ジャッジ時間 | 5,123 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | RE * 50 |
ソースコード
# [テスターの仕様]# - 入力として「テストケースの入力 → あなたの出力」の順に受け取る.# - 出力が valid かどうか (valid でない場合はその原因),および得点を出力する.# - X+1 行出力されない場合の挙動は未定義なので注意すること.# - 余分な出力があるかどうかはチェックされない.(実際の提出でも,余分な出力はチェックされない)import sysimport mathdef WrongAnswer(str):print("Wrong Answer (" + str + ")")sys.exit(0)# Step 1. テストケースの入力を受け取るN = int(input())A = [0] * (N + 1)B = [0] * (N + 1)for i in range(1, N+1):A[i], B[i] = map(int, input().split())# Step 2. あなたの出力を受け取るX = int(input())if X < 0 or X > 50:WrongAnswer("X is out of range")U = [0] * (X + 1)V = [0] * (X + 1)for i in range(1, X+1):U[i], V[i] = map(int, input().split())if U[i] == V[i]:WrongAnswer("U[i] and V[i] are same")elif U[i] < 1 or U[i] > N:WrongAnswer("U[i] is out of range")elif V[i] < 1 or V[i] > N:WrongAnswer("V[i] is out of range")# Step 3. シミュレーションを行うfor i in range(1, X+1):avgA = (A[U[i]] + A[V[i]]) // 2avgB = (B[U[i]] + B[V[i]]) // 2A[U[i]] = avgAA[V[i]] = avgAB[U[i]] = avgBB[V[i]] = avgB# Step 4. 出力ErrorA = abs(500000000000000000 - A[1])ErrorB = abs(500000000000000000 - B[1])Score = (int)(2000000.0 - 100000.0 * math.log10(1.0 * max(ErrorA, ErrorB) + 1.0))if ErrorA == 0 and ErrorB == 0:Score = 2000050 - Xprint("Accepted!")print("Error of A[1] = " + str(ErrorA))print("Error of B[1] = " + str(ErrorB))print("Score = " + str(Score))