結果

問題 No.505 カードの数式2
ユーザー rlangevin
提出日時 2023-11-14 00:23:08
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 40 ms / 2,000 ms
コード長 582 bytes
コンパイル時間 206 ms
コンパイル使用メモリ 82,152 KB
実行使用メモリ 52,480 KB
最終ジャッジ日時 2024-09-26 03:27:30
合計ジャッジ時間 2,123 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
A = list(map(int, input().split()))
ma, mi = A[0], A[0]
A.pop(0)

def f(x, y):
    if x < 0:
        x, y = -x, -y
    if y > 0:
        return x//abs(y)
    else:
        return -(x//abs(y))

for a in A:
    if a != 0:
        ma2 = max(ma + a, ma * a, ma - a, f(ma, a), mi + a, mi * a, mi - a, f(mi, a))
        mi2 = min(ma + a, ma * a, ma - a, f(ma, a), mi + a, mi * a, mi - a, f(mi, a))
    else:
        ma2 = max(ma + a, ma * a, ma - a, mi + a, mi * a, mi - a)
        mi2 = min(ma + a, ma * a, ma - a, mi + a, mi * a, mi - a)
    ma, mi = ma2, mi2
print(ma)
0