結果
問題 | No.2519 Coins in Array |
ユーザー |
👑 |
提出日時 | 2023-10-27 21:55:46 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 166 ms / 2,000 ms |
コード長 | 1,188 bytes |
コンパイル時間 | 210 ms |
コンパイル使用メモリ | 82,224 KB |
実行使用メモリ | 120,024 KB |
最終ジャッジ日時 | 2024-09-25 14:02:30 |
合計ジャッジ時間 | 6,567 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 37 |
ソースコード
from math import gcddef f(a, b):if gcd(a, b) == 1:return a * b - a - b + 1else:return 0n = int(input())A = list(map(int, input().split()))odd = []even = []for i, a in enumerate(A):if a % 2 == 1:odd.append(i)else:even.append(i)if len(even) >= 2:i, j = even[:2]print(0)print(i + 1, j + 1)for i in range(n - 2, 0, -1):print(i, i + 1)elif len(even) >= 1 and len(odd) >= 2:i, j = odd[:2]print(0)print(i + 1, j + 1)ii = even[0]if j < ii:ii -= 1if i < ii:ii -= 1print(ii + 1, n - 1)for i in range(n - 3, 0, -1):print(i, i + 1)elif len(odd) >= 4:i, j, k, l = odd[:4]print(0)print(k + 1, l + 1)print(i + 1, j + 1)for i in range(n - 3, 0, -1):print(i, i + 1)elif n == 2:a, b = Aprint(f(a, b))print(1, 2)else:assert n == 3a, b, c = Ami1 = f(f(a, b), c)mi2 = f(f(a, c), b)mi3 = f(f(b, c), a)mi = min(mi1, mi2, mi3)print(mi)if mi == mi1:print(1, 2)elif mi == mi2:print(1, 3)else:print(2, 3)print(1, 2)