// Return the score for a mastermind guess. #define CATCH_CONFIG_MAIN #include #include using namespace ranges; template static T max_seq(std::initializer_list seq) { T top = *seq.begin(); for (auto start : view::ints(0ul, seq.size())) { for (auto stop : view::ints(start + 1, seq.size())) { auto sum = accumulate(seq | view::slice(start, stop), 0); top = std::max(sum, top); } } return top; } TEST_CASE("cc19.9", "max_seq") { CHECK(max_seq({2, -8, 3, -2, 4, -10}) == 5); }