solution: /submissions/accepted/yidi.cpp
#solution: /submissions/accepted/submission.py
version: 2025-08  # use this version of the generators framework

#test_group.yaml:
  # One or more of:
  # case_sensitive
  # space_change_sensitive
  # float_absolute_tolerance eps
  # float_relative_tolerance eps
  # float_tolerance eps
  #output_validator_args:

data:
  sample:
    data:
      - "":
          in: |
            1
            4 2 1
            3 2 2
      - "":
          in: |
            2
            1 2 5
            4 2 5
            5 1 5
            3 2 1
      - "":
          in: |
            2
            1 7 2
            1 5 2
            8 1 6
            7 1 6

  secret:
    data:
      - tiny:
          generate: random --seed {seed} --n 5 --v 10 --c 10
          count: 3
      - medium-few-cities:
          generate: random --seed {seed} --n 5000 --c 10
          count: 3
      - medium-many-cities:
          generate: random --seed {seed} --n 5000 --c 5000
          count: 3
      - large-one-city:
          generate: random --seed {seed} --c 1
          count: 3
      - large-two-cities:
          generate: random --seed {seed} --c 2
          count: 3
      - large-few-cities:
          generate: random --seed {seed} --c 10
          count: 5
      - large-medium-cities:
          generate: random --seed {seed} --c 5000
          count: 5
      - large-many-cities:
          generate: random --seed {seed}
          count: 5

      - all-odd:
          generate: all-odd --seed {seed} --n 100000 --v 1000000 --c 2
          count: [2, 4, 6, 30, 500, 99992, 100000, 200000]

      - all-same: all-same.py 1
      - all-same: all-same.py 1000000

      - biased-city: 
          generate: biased --seed {seed} --n 100000 --lbias 1 --rbias 1 --cbias {count}
          count: [-5, -2, 2, 3, 5, 10, 100, 100000]
      - biased-left:
          generate: biased --seed {seed} --n 100000 --lbias {count} --rbias 1 --cbias 1
          count: [2, 3, 50, 100000]
      - biased-right:
          generate: biased --seed {seed} --n 100000 --lbias 1 --rbias {count} --cbias 1
          count: [2, 3, 50, 100000]
      - biased-skill:
          generate: biased --seed {seed} --n 100000 --lbias {count} --rbias {count} --cbias 1
          count: [2, 3, 50, 100000]

      - biased: biased --seed {seed} --n 99999 --lbias 2 --rbias 1 --cbias -10
      - biased: biased --seed {seed} --n 99999 --lbias 1 --rbias 2 --cbias -10
      - biased: biased --seed {seed} --n 99999 --lbias -5 --rbias -5 --cbias -10
      - biased: biased --seed {seed} --n 99999 --lbias 5 --rbias 5 --cbias -10
      - biased: biased --seed {seed} --n 99999 --lbias 6 --rbias 7 --cbias -10
      - biased: biased --seed {seed} --n 99999 --lbias 7 --rbias 6 --cbias -10
      - biased: biased --seed {seed} --n 99999 --lbias -2 --rbias -3 --cbias -10

      - biased: biased --seed {seed} --n 99999 --lbias 2 --rbias 1 --cbias 10
      - biased: biased --seed {seed} --n 99999 --lbias 1 --rbias 2 --cbias 10
      - biased: biased --seed {seed} --n 99999 --lbias -5 --rbias -5 --cbias 10
      - biased: biased --seed {seed} --n 99999 --lbias 5 --rbias 5 --cbias 10
      - biased: biased --seed {seed} --n 99999 --lbias 6 --rbias 7 --cbias 10
      - biased: biased --seed {seed} --n 99999 --lbias 7 --rbias 6 --cbias 10
      - biased: biased --seed {seed} --n 99999 --lbias -3 --rbias -2 --cbias 10

      - biased: biased --seed {seed} --n 99999 --lbias 10000 --rbias 10000 --cbias 10000

  invalid_input:
    data:

  invalid_answer:
    data:

  invalid_output:
    data:

  valid_output:
    data:
