結果
問題 |
No.2854 -1 Subsequence
|
ユーザー |
|
提出日時 | 2024-08-25 14:10:19 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 596 bytes |
コンパイル時間 | 2,987 ms |
コンパイル使用メモリ | 249,712 KB |
実行使用メモリ | 15,904 KB |
最終ジャッジ日時 | 2024-08-25 14:10:30 |
合計ジャッジ時間 | 6,379 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 16 WA * 24 |
ソースコード
#include <bits/stdc++.h> using namespace std; const long long INF = (1LL << 60); int main() { int N; cin >> N; vector A(N, 0LL); for(int i = 0; i < N; i++) cin >> A[i]; vector dp(N+1, vector(2, -INF)); for(int i = 0; i < N; i++) { for(int j = 0; j < 2; j++) { dp[i+1][j] = max(dp[i][j], dp[i+1][j]); if(dp[i][j] == -INF) dp[i+1][1-j] = max((j ? 1LL : -1LL) * A[i], dp[i+1][1-j]); dp[i+1][1-j] = max(dp[i][j] + (j ? 1LL : -1LL) * A[i], dp[i+1][1-j]); } } cout << max(dp[N][0], dp[N][1]) << endl; return 0; }