結果
| 問題 | No.2854 -1 Subsequence | 
| コンテスト | |
| ユーザー |  rururun | 
| 提出日時 | 2025-03-07 11:27:15 | 
| 言語 | Swift (6.0.3) | 
| 結果 | 
                                WA
                                 
                             | 
| 実行時間 | - | 
| コード長 | 414 bytes | 
| コンパイル時間 | 3,287 ms | 
| コンパイル使用メモリ | 135,188 KB | 
| 実行使用メモリ | 25,084 KB | 
| 最終ジャッジ日時 | 2025-03-07 11:27:38 | 
| 合計ジャッジ時間 | 10,709 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 29 WA * 11 | 
ソースコード
let n = Int(readLine()!)!
let A = readLine()!.split(separator: " ").map{Int($0)!}
var dp0 = [Int](repeating: -1, count: n)
var dp1 = [Int](repeating: -1, count: n)
dp1[0] = -A[0]
if n > 1{
dp0[1] = -A[0]+A[1]
dp1[1] = dp1[0]
}
if n > 2{
for i in 2..<n{
    dp0[i] = max(dp0[i-1],dp1[i-1]+A[i])
    dp1[i] = max(dp1[i-1],dp0[i-1]-A[i])
}
}
if n == 1{
    print(dp1[0])
}else{
    print(max(dp0[n-1],dp1[n-1]))
}
            
            
            
        