GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 23 / 0 / 23
Functions: 100.0% 1 / 0 / 1
Branches: 65.6% 21 / 0 / 32

test/cpv/library-checker-datastructure/double_ended_priority_queue.cpp
Line Branch Exec Source
1 // competitive-verifier: PROBLEM https://judge.yosupo.jp/problem/double_ended_priority_queue
2 #include "../../../src/ds/dq/p/lib.hpp"
3 #include "../../../src/util/alias/others/lib.hpp"
4
5 using namespace tifa_libs;
6 18 int main() {
7 18 std::cin.tie(nullptr)->std::ios::sync_with_stdio(false);
8 18 u32 _tests = 1;
9
2/2
✓ Branch 0 taken 18 times.
✓ Branch 1 taken 18 times.
36 flt_ (u32, _test, 1, _tests + 1) {
10 u32 n, q;
11
2/4
✓ Branch 1 taken 18 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 18 times.
✗ Branch 5 not taken.
18 std::cin >> n >> q;
12
1/2
✓ Branch 1 taken 18 times.
✗ Branch 2 not taken.
18 vec<int> a(n);
13
3/4
✓ Branch 4 taken 4002340 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 4002340 times.
✓ Branch 9 taken 18 times.
4002358 for (auto& x : a) std::cin >> x;
14 18 make_minmax_heap(begin(a), end(a));
15
2/2
✓ Branch 0 taken 4502346 times.
✓ Branch 1 taken 18 times.
4502364 while (q--) {
16 int t;
17
1/2
✓ Branch 1 taken 4502346 times.
✗ Branch 2 not taken.
4502346 std::cin >> t;
18
2/2
✓ Branch 0 taken 1748621 times.
✓ Branch 1 taken 2753725 times.
4502346 if (t == 0) {
19 int x;
20
1/2
✓ Branch 1 taken 1748621 times.
✗ Branch 2 not taken.
1748621 std::cin >> x;
21
1/2
✓ Branch 1 taken 1748621 times.
✗ Branch 2 not taken.
1748621 a.push_back(x);
22 1748621 push_minmax_heap(begin(a), end(a));
23
2/2
✓ Branch 0 taken 1627386 times.
✓ Branch 1 taken 1126339 times.
2753725 } else if (t == 1) {
24 1627386 pop_minmax_heap_min(begin(a), end(a));
25
2/4
✓ Branch 2 taken 1627386 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1627386 times.
✗ Branch 6 not taken.
1627386 std::cout << a.back() << '\n';
26 1627386 a.pop_back();
27 } else {
28 1126339 pop_minmax_heap_max(begin(a), end(a));
29
2/4
✓ Branch 2 taken 1126339 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1126339 times.
✗ Branch 6 not taken.
1126339 std::cout << a.back() << '\n';
30 1126339 a.pop_back();
31 }
32 }
33 18 }
34 18 return 0;
35 }
36