結果
問題 |
No.2519 Coins in Array
|
ユーザー |
|
提出日時 | 2023-10-27 23:02:25 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,437 bytes |
コンパイル時間 | 273 ms |
コンパイル使用メモリ | 82,028 KB |
実行使用メモリ | 109,064 KB |
最終ジャッジ日時 | 2024-09-25 15:02:49 |
合計ジャッジ時間 | 15,687 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 26 WA * 10 RE * 1 |
ソースコード
import math n = int(input()) A = list(map(int,input().split())) M = 2*10**5+5 count = [0]*M for a in A: count[a] += 1 if count[1]: ans = 1 print(ans) for i in range(n-1): print(1,2) exit() ans = 10**18 if count[0]: ans = 0 print(ans) for i in range(n-1): print(1,2) exit() target = [] dic = {} for ind,a in enumerate(A): now = a for i in range(2,int(a**0.5)+1): if now%i: continue if i in dic: target = [a,dic[i]] while now % i == 0: now //= i dic[i] = a if now != 1: dic[now] = a if target: first = [] for i,a in enumerate(A): if a in target: first.append(i+1) target.remove(a) print(0) print(*first) for i in range(n-2): print(1,2) exit() even = [] odd = [] for i,a in enumerate(A): if a%2 == 0: even.append(i+1) else: odd.append(i+1) assert len(even) < 2 if n == 2: ans = (A[0]-1)*(A[1]-1) print(ans) print(1,2) exit() if even == []: if n > 4: print(0) else: ans = (A[0]-1)*(A[1]-1) ans = (ans-1)*(A[2]-1) print(ans) for i in range(n-1): print(1,2) exit() else: ans = 0 print(0) print(odd.pop(),odd.pop()) print(n-1,even.pop()) for i in range(n-3): print(1,2)