結果

問題 No.1017 Reiwa Sequence
ユーザー titia
提出日時 2020-07-31 02:43:30
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 286 ms / 2,000 ms
コード長 1,396 bytes
コンパイル時間 269 ms
コンパイル使用メモリ 82,532 KB
実行使用メモリ 128,256 KB
最終ジャッジ日時 2024-07-05 05:46:56
合計ジャッジ時間 37,761 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 50
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
input = sys.stdin.readline

N=int(input())
A=list(map(int,input().split()))

if N>=22:
    X=[-1]*(150000*20+1)
    for i in range(1,1<<20):
        SUM=0
        for j in range(20):
            if (1<<j) & i !=0:
                SUM+=A[j]
        if X[SUM]==-1:
            X[SUM]=i
        else:
            print("Yes")
            ANS=[]
            k=X[SUM]
            l=i
            for j in range(20):
                if (1<<j) & k == 0 and (1<<j) & l != 0:
                    ANS.append(A[j])
                elif (1<<j) & k != 0 and (1<<j) & l == 0:
                    ANS.append(-A[j])
                else:
                    ANS.append(0)
            print(*(ANS+[0]*(N-20)))
            sys.exit()

else:
    X=[-1]*(150000*20+1)
    for i in range(1,1<<N):
        SUM=0
        for j in range(N):
            if (1<<j) & i !=0:
                SUM+=A[j]
        if X[SUM]==-1:
            X[SUM]=i
        else:
            print("Yes")
            ANS=[]
            k=X[SUM]
            l=i
            for j in range(N):
                if (1<<j) & k == 0 and (1<<j) & l != 0:
                    ANS.append(A[j])
                elif (1<<j) & k != 0 and (1<<j) & l == 0:
                    ANS.append(-A[j])
                else:
                    ANS.append(0)
            print(*ANS)
            sys.exit()
    print("No")
    
    

            
        
0