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