Anonymous user
Maximum triangle path sum: Difference between revisions
made more fluent
(made more fluent) |
|||
Line 312:
};
const int
const int tn = static_cast<int>(sqrt(2.0 * size));
// walk backward by rows, replacing each element with max attainable therefrom
for (int n = tn - 1; n > 0; --n) // n is size of row, note we do not process last row
for (int k = (n * (n-1)) / 2; k < (n * (n+2)) / 2; ++k)
▲ triangle[last - n] = triangle[last - n] + std::max( triangle[last - 1], triangle[last] );
std::cout << "Maximum total: " << triangle[0] << "\n\n";
}
</lang>
|