GCC Code Coverage Report


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

test/cpv/library-checker-datastructure/associative_array.fhq_treap.cpp
Line Branch Exec Source
1 // competitive-verifier: PROBLEM https://judge.yosupo.jp/problem/associative_array
2 #include "../../../src/ds/bst/fhq/lib.hpp"
3
4 using namespace tifa_libs;
5 20 int main() {
6
1/2
✓ Branch 2 taken 20 times.
✗ Branch 3 not taken.
20 std::cin.tie(nullptr)->std::ios::sync_with_stdio(false);
7 u64 q;
8
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
20 std::cin >> q;
9
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
20 fhq_treap<pttuu> tr;
10
2/2
✓ Branch 0 taken 15673163 times.
✓ Branch 1 taken 20 times.
15673183 for (u64 i = 0, op, k, v; i < q; ++i) {
11
2/4
✓ Branch 1 taken 15673163 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 15673163 times.
✗ Branch 5 not taken.
15673163 std::cin >> op >> k;
12 15673163 auto it = tr.prev({k, UINT64_MAX});
13
2/2
✓ Branch 0 taken 7647884 times.
✓ Branch 1 taken 8025279 times.
15673163 if (op) {
14
6/8
✓ Branch 1 taken 7647773 times.
✓ Branch 2 taken 111 times.
✓ Branch 4 taken 1764454 times.
✓ Branch 5 taken 5883319 times.
✓ Branch 8 taken 7647884 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 7647884 times.
✗ Branch 12 not taken.
7647884 std::cout << (it && it->first == k ? it->second : 0) << '\n';
15 } else {
16
1/2
✓ Branch 1 taken 8025279 times.
✗ Branch 2 not taken.
8025279 std::cin >> v;
17
7/8
✓ Branch 1 taken 8025151 times.
✓ Branch 2 taken 128 times.
✓ Branch 4 taken 2151443 times.
✓ Branch 5 taken 5873708 times.
✓ Branch 6 taken 2151443 times.
✓ Branch 7 taken 5873836 times.
✓ Branch 9 taken 2151443 times.
✗ Branch 10 not taken.
8025279 if (it && it->first == k) tr.erase(it.value()), tr.insert({k, v});
18 5873836 else tr.insert({k, v});
19 }
20 }
21 20 return 0;
22 20 }
23