結果
問題 |
No.45 回転寿司
|
ユーザー |
![]() |
提出日時 | 2015-12-22 13:14:20 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 3 ms / 5,000 ms |
コード長 | 506 bytes |
コンパイル時間 | 3,044 ms |
コンパイル使用メモリ | 157,500 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-27 12:35:00 |
合計ジャッジ時間 | 2,793 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 30 |
ソースコード
#include<bits/stdc++.h> using namespace std; int n; int v[1000]; int memo[2][1000]; int solve(bool f,int idx){ if(idx==n){ return 0; } if(memo[f][idx]!=-1){ return memo[f][idx]; } int ret=-1; if(f==false){ ret=max(ret,max(solve(f,idx+1),solve(true,idx+1)+v[idx])); }else{ ret=max(ret,solve(false,idx+1)); } return memo[f][idx]=ret; } int main(){ cin>>n; for(int i=0;i<n;i++) cin>>v[i]; memset(memo,-1,sizeof(memo)); cout<<solve(false,0)<<endl; return 0; }