結果
問題 |
No.2854 -1 Subsequence
|
ユーザー |
|
提出日時 | 2024-08-25 14:10:49 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 601 bytes |
コンパイル時間 | 2,744 ms |
コンパイル使用メモリ | 250,372 KB |
実行使用メモリ | 15,888 KB |
最終ジャッジ日時 | 2024-08-25 14:10:59 |
合計ジャッジ時間 | 6,162 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]); else 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; }