結果

問題 No.505 カードの数式2
ユーザー hedwig100
提出日時 2020-05-31 16:05:27
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,009 bytes
コンパイル時間 332 ms
コンパイル使用メモリ 82,400 KB
実行使用メモリ 76,092 KB
最終ジャッジ日時 2024-11-17 15:50:53
合計ジャッジ時間 11,768 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 26 WA * 3
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
sys.setrecursionlimit(10000000)
MOD = 10 ** 9 + 7
INF = 10 ** 15

from itertools import permutations,product,combinations_with_replacement,groupby,accumulate,combinations
def main():
    N = int(input())
    A = list(map(int,input().split()))
    
    ans = -INF
    for L in product((0,1,2),repeat = N - 2):
        ret = A[0]
        for i in range(N - 2):
            if L[i] == 0:
                ret += A[i + 1]
            elif L[i] == 1:
                ret -= A[i + 1]
            else:
                ret *= A[i + 1]
        if ret < 0 and A[-1] < 0:
            ret = max(ret * A[-1],ret - A[-1])
        elif ret < 0 and A[-1] > 0:
            ret += A[-1]
        elif ret > 0 and A[-1] < 0:
            ret -= A[-1]
        elif ret > 0 and A[-1] > 0:
            ret = max(ret + A[-1],ret * A[-1])
        elif ret == 0:
            ret = abs(A[-1])
        elif A[-1] == 0:
            ret = max(0,ret)
        ans = max(ans,ret)
    print(ans)
if __name__ == '__main__':
    main()
0