結果
問題 |
No.45 回転寿司
|
ユーザー |
![]() |
提出日時 | 2020-03-01 16:37:08 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 5,000 ms |
コード長 | 1,097 bytes |
コンパイル時間 | 682 ms |
コンパイル使用メモリ | 70,464 KB |
最終ジャッジ日時 | 2025-01-09 03:42:06 |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 30 |
ソースコード
#include <iostream> #include <algorithm> #include <string> void debug(int a, int b, int tmp, int tmppre){ std::cout << "a: " << a << ", b:" << b << ", tmp:" << tmp << ", tmppre: " << tmppre << std::endl; } int main(){ int n = 0; std::cin >> n; int a = 0, b = 0; //aは前に取った場合,bは前に取らなかった場合 int tmppre = 0; //1つ前の値 std::string s; int gmax = 0, ngmax = 0; int pregmax = 0; for( int i = 0; i < n; ++i ){ int tmp = 0; std::cin >> tmp; //取った場合の最大値 //取らなかった場合の最大値 // 取った場合の最大値 < 取らなかった場合の最大値 // -> 取った場合の最大値に取らなかった場合maxを代入 // 取る場合は取らなかった場合最大値に取った値を代入 // 取らない場合はとった場合最大値で代入 gmax = ngmax + tmp; ngmax = std::max(pregmax, ngmax); if(gmax < ngmax){ gmax = ngmax; } pregmax = gmax; } int out = std::max(gmax, pregmax); std::cout << out << std::endl; return 0; }