結果
問題 | No.1334 Multiply or Add |
ユーザー |
![]() |
提出日時 | 2025-03-26 15:54:12 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,517 bytes |
コンパイル時間 | 399 ms |
コンパイル使用メモリ | 81,780 KB |
実行使用メモリ | 271,668 KB |
最終ジャッジ日時 | 2025-03-26 15:55:18 |
合計ジャッジ時間 | 9,148 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 31 WA * 19 TLE * 1 -- * 20 |
ソースコード
MOD = 10**9 + 7n = int(input())a = list(map(int, input().split()))if n == 0:print(0)else:sum_add = 0product_add = a[0]sum_mult = 0product_mult = a[0]for i in range(1, n):# Calculate new add statenew_sum_add = max(sum_add + product_add, sum_mult + product_mult)new_product_add = a[i]# Calculate options for multiply stateoption1_sum = sum_addoption1_product = product_add * a[i]option1_total = option1_sum + option1_productoption2_sum = sum_multoption2_product = product_mult * a[i]option2_total = option2_sum + option2_productif option1_total > option2_total:new_sum_mult = option1_sumnew_product_mult = option1_productelif option1_total < option2_total:new_sum_mult = option2_sumnew_product_mult = option2_productelse:if option1_product > option2_product:new_sum_mult = option1_sumnew_product_mult = option1_productelse:new_sum_mult = option2_sumnew_product_mult = option2_product# Update states for next iterationsum_add, product_add = new_sum_add, new_product_addsum_mult, product_mult = new_sum_mult, new_product_mult# Determine the maximum resultresult = max(sum_add + product_add, sum_mult + product_mult) % MODprint(result)