結果
問題 |
No.45 回転寿司
|
ユーザー |
![]() |
提出日時 | 2017-10-21 23:33:06 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 990 bytes |
コンパイル時間 | 775 ms |
コンパイル使用メモリ | 71,572 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-27 17:33:31 |
合計ジャッジ時間 | 1,828 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 30 |
ソースコード
/* * main.cpp * * Created on: 2017/10/06 * Author: sep */ #include <iostream> #include <cstdio> #include <cstdlib> #include <string> #include <cmath> #include <cstring> #include <vector> #include <algorithm> #include <map> #include <queue> using namespace std; inline int main003(); inline int main045(); inline int main3(); inline int main4(); int main() { main045(); return 0; } inline int main045() { int num; int *value; int **c_value; int i; cin >> num; value = new int[num]; c_value = new int*[num]; for (i = 0; i < num; i++) { cin >> value[i]; c_value[i] = new int[2]; } c_value[0][0] = 0; c_value[0][1] = value[0]; if (num > 1) { c_value[1][0] = value[0]; c_value[1][1] = value[1]; } for (i = 2; i < num; i++) { c_value[i][0] = max(c_value[i - 1][1], c_value[i - 2][1]); c_value[i][1] = max(c_value[i - 1][0] + value[i], c_value[i - 2][0] + value[i]); } cout << max(c_value[num - 1][0], c_value[num - 1][1]); return 0; }