結果
問題 |
No.921 ずんだアロー
|
ユーザー |
![]() |
提出日時 | 2019-11-08 23:00:58 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 820 bytes |
コンパイル時間 | 1,657 ms |
コンパイル使用メモリ | 170,980 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-15 02:08:38 |
合計ジャッジ時間 | 6,453 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | RE * 3 |
other | RE * 22 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; vector<int> a(n); vector<int> b; int m=1; int size=1; for(int i=1;i<n;i++){ if(a[i]==a[i-1]){ m++; } else{ b.push_back(m); size++; m=1; } } //dp[i-1][0]はi番目の数字を選ばなかったときの最大値 int dp[size+1][3]; for(int i=0;i<size;i++){ for(int j=0;j<2;j++){ dp[i][j]=-1; } } dp[0][0]=0; dp[0][1]=b[0]; for(int i=0;i<size;i++){ dp[i][0]=max(dp[i-1][0],dp[i-1][1]); dp[i][1]=dp[i-1][0]; } int ans=0; for(int i=0;i<size;i++){ for(int j=0;j<2;j++){ ans=max(ans,dp[i][j]); } } cout << ans << endl; }