test/cpv/yukicoder/0952.cpp
| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | // competitive-verifier: PROBLEM https://yukicoder.me/problems/no/952 | ||
| 2 | #include "../../../src/opt/larsch/d2/lib.hpp" | ||
| 3 | |||
| 4 | using namespace tifa_libs; | ||
| 5 | 26 | int main() { | |
| 6 |
1/2✓ Branch 2 taken 26 times.
✗ Branch 3 not taken.
|
26 | std::cin.tie(nullptr)->std::ios::sync_with_stdio(false); |
| 7 | u32 n; | ||
| 8 |
1/2✓ Branch 1 taken 26 times.
✗ Branch 2 not taken.
|
26 | std::cin >> n; |
| 9 |
2/4✓ Branch 1 taken 26 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 26 times.
✗ Branch 5 not taken.
|
78 | vecii a(n), b(n + 1); |
| 10 |
3/4✓ Branch 4 taken 35199 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 35199 times.
✓ Branch 9 taken 26 times.
|
35225 | for (auto& i : a) std::cin >> i; |
| 11 |
1/2✓ Branch 5 taken 26 times.
✗ Branch 6 not taken.
|
26 | std::inclusive_scan(begin(a), end(a), begin(b) + 1); |
| 12 |
2/2✓ Branch 0 taken 345740424 times.
✓ Branch 1 taken 1000761012 times.
|
1346501436 | auto w = [&](u32 i, u32 j) -> i64 { retif_((i + 1 == j), 0, (b[j - 1] - b[i]) * (b[j - 1] - b[i])); }; |
| 13 | 26 | auto ans = larsch_2d<i64>(n + 1, w); | |
| 14 |
4/6✓ Branch 2 taken 35199 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 35199 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 35199 times.
✓ Branch 8 taken 26 times.
|
35225 | for (u32 i = n; i; --i) std::cout << ans[i] << '\n'; |
| 15 | 26 | return 0; | |
| 16 | 26 | } | |
| 17 |