結果

問題 No.1017 Reiwa Sequence
ユーザー Kiri8128Kiri8128
提出日時 2020-04-03 22:20:30
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 149 ms / 2,000 ms
コード長 698 bytes
コンパイル時間 134 ms
コンパイル使用メモリ 82,336 KB
実行使用メモリ 159,360 KB
最終ジャッジ日時 2024-07-03 03:56:16
合計ジャッジ時間 32,688 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 50
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
A = [int(a) for a in input().split()]
K = min(N, 22)
B = A[:K]

D = {1<<i: i for i in range(22)}
X = [0] * (1 << 22)
Y = [0] * (1 << 22)
for i in range(1, 1 << K):
    l = i & (-i)
    if i == l:
        x = B[D[l]]
    else:
        x = X[i^l] + B[D[l]]
    X[i] = x
    if Y[x]:
        j = Y[x]
        k = i & j
        i ^= k
        j ^= k
        for s in range(K):
            if i >> s & 1:
                pass
            elif j >> s & 1:
                A[s] *= -1
            else:
                A[s] = 0
        for s in range(K, N):
            A[s] = 0
        print("Yes")
        print(*A)
        
        break
    else:
        Y[x] = i
else:
    print("No")
0