[C++]2156ワインを味わう
👉 味道葡萄酒
[正解コード]
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
int n, i;
int podo[10000] = {0};
cin >> n;
for (i = 0; i < n; i++) {
cin >> podo[i];
}
int memo[10000][3] = {{0, 0, 0}};
memo[0][1] = podo[0];
for (i = 1; i < n; i++) {
memo[i][0] = *max_element(memo[i - 1], memo[i - 1] + 3);
memo[i][1] = memo[i - 1][0] + podo[i];
memo[i][2] = memo[i - 1][1] + podo[i];
}
cout << *max_element(memo[n - 1], memo[n - 1] + 3) << endl;
return 0;
}
[回答]
問題の条件(ワインを3杯連続で飲めない)により、3*10000の順で記録しました.
*max_element(memo[i - 1], memo[i - 1] + 3)
memo[i - 1][0] + podo[i]
memo[i - 1][1] + podo[i]
✔ max_elemnt()
[アプリケーション構造とアルゴリズム]
Reference
この問題について([C++]2156ワインを味わう), 我々は、より多くの情報をここで見つけました https://velog.io/@yuchan/C-2156-포도주-시식テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol