結果
問題 |
No.505 カードの数式2
|
ユーザー |
![]() |
提出日時 | 2017-04-27 01:40:59 |
言語 | Nim (2.2.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 559 bytes |
コンパイル時間 | 2,854 ms |
コンパイル使用メモリ | 65,740 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-30 01:09:38 |
合計ジャッジ時間 | 3,634 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
ソースコード
import strutils, sequtils when isMainModule: var n = stdin.readline.parseint dp = newSeqWith(n, newSeq[int](2)) input = stdin.readline.split.map(parseint) dp[0][0] = input[0] dp[0][1] = dp[0][0] for i in 1..n-1: var a = input[i] x = dp[i-1][0] y = dp[i-1][1] dp[i][0] = max([x, y, x+a, y+a, x-a, y-a, x*a, y*a]) dp[i][1] = min([x, y, x+a, y+a, x-a, y-a, x*a, y*a]) if a != 0: dp[i][0] = max([dp[i][0], x div a, y div a]) dp[i][1] = min([dp[i][1], x div a, y div a]) echo dp[n-1][0]