結果
| 問題 |
No.45 回転寿司
|
| ユーザー |
09SEPGR
|
| 提出日時 | 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;
}
09SEPGR