FA-85046 / Fantasy sports scoring / Open access
Zero-cent entries listed as winners · case 01
Every non-cashing entry appears in the payout report with 0 cents.
ROOT CAUSE
The payout filter accepts zero amounts.
VERIFIED REPAIR
Record only positive amounts.
Unsuccessful approach: Filtering on the base share drops entries whose only prize is a remainder cent.
Case contract
Daily contest entries are [entry id, score in hundredths]; payouts[r] is the prize in cents for finishing position r (0-based), positions past the list pay 0. Entries with equal scores share the positions they jointly occupy: their prizes are summed and split equally, whole cents only, with leftover cents given one each to the tied entries in ascending id order. Return id -> cents for entries receiving more than 0.
Why this case matters
Tie splitting in paid contests moves real money; cent remainders and the pooled positions must be exact.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(entries, payouts):
ordered = sorted(entries, key=lambda e: (-e[1], e[0]))
out = {}
i = 0
while i < len(ordered):
j = i
while j < len(ordered) and ordered[j][1] == ordered[i][1]:
j += 1
pool = sum(payouts[i:j])
group = sorted(e[0] for e in ordered[i:j])
share, extra = divmod(pool, len(group))
for k, eid in enumerate(group):
amt = share + (1 if k < extra else 0)
if amt >= 0:
out[eid] = amt
i = j
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: remainder-only recipients',
[[['e22', 1500], ['e06', 1497], ['e27', 1495], ['e28', 1500], ['e09', 1495], ['e02', 1493], ['e01', 1500],
['e16', 1500], ['e11', 1495]],
[250, 100, 77]],
{'e01': 107, 'e16': 107, 'e22': 107, 'e28': 106}),
('partial repair probe: remainder-only recipients',
[[['e06', 1333], ['e19', 1328], ['e10', 1278], ['e20', 1328], ['e29', 1323], ['e11', 1333], ['e23', 1333],
['e13', 1333]],
[1000, 501, 500, 250, 1]],
{'e06': 563, 'e11': 563, 'e13': 563, 'e19': 1, 'e23': 562}),
('second regression',
[[['e15', 1413], ['e03', 1365], ['e11', 1420], ['e05', 1413], ['e02', 1410], ['e27', 1413], ['e25', 1410],
['e21', 1417]],
[501, 500, 301, 301, 100]],
{'e05': 234, 'e11': 501, 'e15': 234, 'e21': 500, 'e27': 234}),
('normal control 1', [[['e20', 1490], ['e24', 1500], ['e18', 1495]], [1000, 1000, 250, 2]],
{'e18': 1000, 'e20': 250, 'e24': 1000}),
('normal control 2', [[['e03', 1490], ['e11', 1500], ['e23', 1500], ['e21', 1500]], [501, 199, 199, 2, 1]],
{'e03': 2, 'e11': 300, 'e21': 300, 'e23': 299}),
('normal control 3', [[['e06', 1365], ['e19', 1410], ['e10', 1365]], [1000, 301, 250, 77, 77]],
{'e06': 276, 'e10': 275, 'e19': 1000}),
('normal control 4',
[[['e17', 1490], ['e27', 1495], ['e23', 1490], ['e11', 1490], ['e07', 1490], ['e15', 1495], ['e21', 1490]],
[1000, 250, 100, 1, 1]],
{'e07': 21, 'e11': 21, 'e15': 625, 'e17': 20, 'e21': 20, 'e23': 20, 'e27': 625})],
[('regression: remainder-only recipients',
[[['e06', 1415], ['e16', 1365], ['e12', 1415], ['e26', 1415], ['e05', 1410]], [500, 301]],
{'e06': 267, 'e12': 267, 'e26': 267}),
('partial repair probe: remainder-only recipients',
[[['e05', 1330], ['e29', 1323], ['e15', 1333], ['e28', 1326], ['e27', 1278], ['e01', 1323]],
[501, 500, 250, 1]],
{'e01': 1, 'e05': 500, 'e15': 501, 'e28': 250}),
('second regression',
[[['e22', 1490], ['e28', 1495], ['e14', 1493], ['e13', 1500], ['e03', 1500], ['e21', 1495], ['e29', 1445]],
[500, 301, 100]],
{'e03': 401, 'e13': 400, 'e21': 50, 'e28': 50}),
('normal control 1', [[['e08', 1420], ['e19', 1420], ['e17', 1413]], [501, 77, 77, 1]],
{'e08': 289, 'e17': 77, 'e19': 289}),
('normal control 2', [[['e25', 1497], ['e13', 1490], ['e26', 1445], ['e10', 1445]], [1000, 100, 77, 2, 2]],
{'e10': 40, 'e13': 100, 'e25': 1000, 'e26': 39}),
('normal control 3', [[['e09', 1415], ['e11', 1417], ['e04', 1417]], [199, 199, 1]],
{'e04': 199, 'e09': 1, 'e11': 199}),
('normal control 4',
[[['e02', 1413], ['e21', 1417], ['e06', 1415], ['e01', 1365], ['e20', 1415]], [1000, 1000, 501, 501, 1]],
{'e01': 1, 'e02': 501, 'e06': 751, 'e20': 750, 'e21': 1000})],
[('regression: remainder-only recipients',
[[['e09', 1490], ['e13', 1493], ['e24', 1500], ['e28', 1500], ['e02', 1445], ['e17', 1493], ['e15', 1495],
['e04', 1490]],
[1000, 501, 301, 2, 1]],
{'e13': 2, 'e15': 301, 'e17': 1, 'e24': 751, 'e28': 750}),
('partial repair probe: remainder-only recipients',
[[['e19', 1417], ['e11', 1415], ['e18', 1420], ['e27', 1415]], [199, 1, 1]],
{'e11': 1, 'e18': 199, 'e19': 1}),
('second regression',
[[['e25', 1333], ['e13', 1328], ['e01', 1333], ['e05', 1323], ['e22', 1278], ['e29', 1323], ['e08', 1326],
['e15', 1333], ['e09', 1278]],
[301, 250, 77]],
{'e01': 210, 'e15': 209, 'e25': 209}),
('normal control 1', [[['e01', 1417], ['e26', 1420], ['e17', 1415], ['e25', 1420]], [1000, 500, 500, 301]],
{'e01': 500, 'e17': 301, 'e25': 750, 'e26': 750}),
('normal control 2', [[['e01', 1365], ['e10', 1417], ['e29', 1365]], [1000, 501, 250, 199]],
{'e01': 376, 'e10': 1000, 'e29': 375}),
('normal control 3', [[['e17', 1490], ['e08', 1493], ['e03', 1500]], [1000, 501, 500, 500, 2]],
{'e03': 1000, 'e08': 501, 'e17': 500}),
('normal control 4', [[['e05', 1333], ['e10', 1278], ['e27', 1326]], [250, 199, 77]],
{'e05': 250, 'e10': 77, 'e27': 199})],
[('regression: remainder-only recipients',
[[['e18', 1415], ['e06', 1420], ['e21', 1410], ['e02', 1415]], [1000, 100]],
{'e02': 50, 'e06': 1000, 'e18': 50}),
('partial repair probe: remainder-only recipients',
[[['e21', 1323], ['e25', 1328], ['e06', 1328], ['e23', 1323], ['e03', 1333], ['e27', 1278], ['e01', 1330]],
[500, 77, 1]],
{'e01': 77, 'e03': 500, 'e06': 1}),
('second regression',
[[['e02', 1415], ['e16', 1420], ['e18', 1420], ['e19', 1420], ['e09', 1420], ['e08', 1413], ['e11', 1420]],
[199, 100]],
{'e09': 60, 'e11': 60, 'e16': 60, 'e18': 60, 'e19': 59}),
('normal control 1',
[[['e24', 1500], ['e29', 1493], ['e10', 1500], ['e21', 1500], ['e13', 1493]], [1000, 1000, 1000, 500, 2]],
{'e10': 1000, 'e13': 251, 'e21': 1000, 'e24': 1000, 'e29': 251}),
('normal control 2', [[['e21', 1333], ['e03', 1333], ['e07', 1333]], [1000, 1000, 501, 250, 1]],
{'e03': 834, 'e07': 834, 'e21': 833}),
('normal control 3', [[['e02', 1420], ['e25', 1413], ['e27', 1365]], [501, 500, 77, 2]],
{'e02': 501, 'e25': 500, 'e27': 77}),
('normal control 4', [[['e20', 1445], ['e24', 1495], ['e28', 1490], ['e05', 1445]], [1000, 77, 77, 1]],
{'e05': 39, 'e20': 39, 'e24': 1000, 'e28': 77})],
[('regression: remainder-only recipients',
[[['e13', 1365], ['e02', 1413], ['e28', 1410], ['e15', 1420], ['e10', 1420], ['e26', 1413], ['e07', 1415],
['e18', 1410]],
[1000, 501, 500, 77]],
{'e02': 39, 'e07': 500, 'e10': 751, 'e15': 750, 'e26': 38}),
('partial repair probe: remainder-only recipients',
[[['e05', 1330], ['e09', 1330], ['e12', 1328], ['e06', 1333], ['e13', 1328], ['e25', 1326], ['e29', 1323]],
[199, 1]],
{'e05': 1, 'e06': 199}),
('second regression',
[[['e13', 1333], ['e10', 1326], ['e21', 1333], ['e27', 1328], ['e04', 1278], ['e14', 1278], ['e23', 1323],
['e28', 1323]],
[501, 2, 1]],
{'e13': 252, 'e21': 251, 'e27': 1}),
('normal control 1', [[['e05', 1326], ['e26', 1278], ['e04', 1328]], [250, 199, 100, 100]],
{'e04': 250, 'e05': 199, 'e26': 100}),
('normal control 2',
[[['e15', 1333], ['e27', 1333], ['e24', 1333], ['e04', 1326]], [1000, 1000, 77, 77, 2]],
{'e04': 77, 'e15': 693, 'e24': 692, 'e27': 692}),
('normal control 3', [[['e06', 1278], ['e18', 1323], ['e10', 1333]], [500, 199, 77]],
{'e06': 77, 'e10': 500, 'e18': 199}),
('normal control 4',
[[['e06', 1500], ['e03', 1445], ['e04', 1445], ['e29', 1490], ['e17', 1500]], [250, 199, 100, 100]],
{'e03': 50, 'e04': 50, 'e06': 225, 'e17': 224, 'e29': 100})]]
for label, args, expected in fixtures[N-1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: remainder-only recipients | {'e01': 107, 'e02': 0, 'e06': 0, 'e09': 0, 'e11': 0, 'e16': 107, 'e22': 107, 'e27': 0, 'e28': 106} | {'e01': 107, 'e16': 107, 'e22': 107, 'e28': 106} | Failed |
| partial repair probe: remainder-only recipients | {'e06': 563, 'e10': 0, 'e11': 563, 'e13': 563, 'e19': 1, 'e20': 0, 'e23': 562, 'e29': 0} | {'e06': 563, 'e11': 563, 'e13': 563, 'e19': 1, 'e23': 562} | Failed |
| second regression | {'e02': 0, 'e03': 0, 'e05': 234, 'e11': 501, 'e15': 234, 'e21': 500, 'e25': 0, 'e27': 234} | {'e05': 234, 'e11': 501, 'e15': 234, 'e21': 500, 'e27': 234} | Failed |
| normal control 1 | {'e18': 1000, 'e20': 250, 'e24': 1000} | {'e18': 1000, 'e20': 250, 'e24': 1000} | Passed |
| normal control 2 | {'e03': 2, 'e11': 300, 'e21': 300, 'e23': 299} | {'e03': 2, 'e11': 300, 'e21': 300, 'e23': 299} | Passed |
| normal control 3 | {'e06': 276, 'e10': 275, 'e19': 1000} | {'e06': 276, 'e10': 275, 'e19': 1000} | Passed |
| normal control 4 | {'e07': 21, 'e11': 21, 'e15': 625, 'e17': 20, 'e21': 20, 'e23': 20, 'e27': 625} | {'e07': 21, 'e11': 21, 'e15': 625, 'e17': 20, 'e21': 20, 'e23': 20, 'e27': 625} | Passed |
SHA-256 / 1c6cde373f43fededcb3fa8266cb465868add360ee80e2de54486a376a1f6e81
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(entries, payouts):
ordered = sorted(entries, key=lambda e: (-e[1], e[0]))
out = {}
i = 0
while i < len(ordered):
j = i
while j < len(ordered) and ordered[j][1] == ordered[i][1]:
j += 1
pool = sum(payouts[i:j])
group = sorted(e[0] for e in ordered[i:j])
share, extra = divmod(pool, len(group))
for k, eid in enumerate(group):
amt = share + (1 if k < extra else 0)
if share > 0:
out[eid] = amt
i = j
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: remainder-only recipients',
[[['e22', 1500], ['e06', 1497], ['e27', 1495], ['e28', 1500], ['e09', 1495], ['e02', 1493], ['e01', 1500],
['e16', 1500], ['e11', 1495]],
[250, 100, 77]],
{'e01': 107, 'e16': 107, 'e22': 107, 'e28': 106}),
('partial repair probe: remainder-only recipients',
[[['e06', 1333], ['e19', 1328], ['e10', 1278], ['e20', 1328], ['e29', 1323], ['e11', 1333], ['e23', 1333],
['e13', 1333]],
[1000, 501, 500, 250, 1]],
{'e06': 563, 'e11': 563, 'e13': 563, 'e19': 1, 'e23': 562}),
('second regression',
[[['e15', 1413], ['e03', 1365], ['e11', 1420], ['e05', 1413], ['e02', 1410], ['e27', 1413], ['e25', 1410],
['e21', 1417]],
[501, 500, 301, 301, 100]],
{'e05': 234, 'e11': 501, 'e15': 234, 'e21': 500, 'e27': 234}),
('normal control 1', [[['e20', 1490], ['e24', 1500], ['e18', 1495]], [1000, 1000, 250, 2]],
{'e18': 1000, 'e20': 250, 'e24': 1000}),
('normal control 2', [[['e03', 1490], ['e11', 1500], ['e23', 1500], ['e21', 1500]], [501, 199, 199, 2, 1]],
{'e03': 2, 'e11': 300, 'e21': 300, 'e23': 299}),
('normal control 3', [[['e06', 1365], ['e19', 1410], ['e10', 1365]], [1000, 301, 250, 77, 77]],
{'e06': 276, 'e10': 275, 'e19': 1000}),
('normal control 4',
[[['e17', 1490], ['e27', 1495], ['e23', 1490], ['e11', 1490], ['e07', 1490], ['e15', 1495], ['e21', 1490]],
[1000, 250, 100, 1, 1]],
{'e07': 21, 'e11': 21, 'e15': 625, 'e17': 20, 'e21': 20, 'e23': 20, 'e27': 625})],
[('regression: remainder-only recipients',
[[['e06', 1415], ['e16', 1365], ['e12', 1415], ['e26', 1415], ['e05', 1410]], [500, 301]],
{'e06': 267, 'e12': 267, 'e26': 267}),
('partial repair probe: remainder-only recipients',
[[['e05', 1330], ['e29', 1323], ['e15', 1333], ['e28', 1326], ['e27', 1278], ['e01', 1323]],
[501, 500, 250, 1]],
{'e01': 1, 'e05': 500, 'e15': 501, 'e28': 250}),
('second regression',
[[['e22', 1490], ['e28', 1495], ['e14', 1493], ['e13', 1500], ['e03', 1500], ['e21', 1495], ['e29', 1445]],
[500, 301, 100]],
{'e03': 401, 'e13': 400, 'e21': 50, 'e28': 50}),
('normal control 1', [[['e08', 1420], ['e19', 1420], ['e17', 1413]], [501, 77, 77, 1]],
{'e08': 289, 'e17': 77, 'e19': 289}),
('normal control 2', [[['e25', 1497], ['e13', 1490], ['e26', 1445], ['e10', 1445]], [1000, 100, 77, 2, 2]],
{'e10': 40, 'e13': 100, 'e25': 1000, 'e26': 39}),
('normal control 3', [[['e09', 1415], ['e11', 1417], ['e04', 1417]], [199, 199, 1]],
{'e04': 199, 'e09': 1, 'e11': 199}),
('normal control 4',
[[['e02', 1413], ['e21', 1417], ['e06', 1415], ['e01', 1365], ['e20', 1415]], [1000, 1000, 501, 501, 1]],
{'e01': 1, 'e02': 501, 'e06': 751, 'e20': 750, 'e21': 1000})],
[('regression: remainder-only recipients',
[[['e09', 1490], ['e13', 1493], ['e24', 1500], ['e28', 1500], ['e02', 1445], ['e17', 1493], ['e15', 1495],
['e04', 1490]],
[1000, 501, 301, 2, 1]],
{'e13': 2, 'e15': 301, 'e17': 1, 'e24': 751, 'e28': 750}),
('partial repair probe: remainder-only recipients',
[[['e19', 1417], ['e11', 1415], ['e18', 1420], ['e27', 1415]], [199, 1, 1]],
{'e11': 1, 'e18': 199, 'e19': 1}),
('second regression',
[[['e25', 1333], ['e13', 1328], ['e01', 1333], ['e05', 1323], ['e22', 1278], ['e29', 1323], ['e08', 1326],
['e15', 1333], ['e09', 1278]],
[301, 250, 77]],
{'e01': 210, 'e15': 209, 'e25': 209}),
('normal control 1', [[['e01', 1417], ['e26', 1420], ['e17', 1415], ['e25', 1420]], [1000, 500, 500, 301]],
{'e01': 500, 'e17': 301, 'e25': 750, 'e26': 750}),
('normal control 2', [[['e01', 1365], ['e10', 1417], ['e29', 1365]], [1000, 501, 250, 199]],
{'e01': 376, 'e10': 1000, 'e29': 375}),
('normal control 3', [[['e17', 1490], ['e08', 1493], ['e03', 1500]], [1000, 501, 500, 500, 2]],
{'e03': 1000, 'e08': 501, 'e17': 500}),
('normal control 4', [[['e05', 1333], ['e10', 1278], ['e27', 1326]], [250, 199, 77]],
{'e05': 250, 'e10': 77, 'e27': 199})],
[('regression: remainder-only recipients',
[[['e18', 1415], ['e06', 1420], ['e21', 1410], ['e02', 1415]], [1000, 100]],
{'e02': 50, 'e06': 1000, 'e18': 50}),
('partial repair probe: remainder-only recipients',
[[['e21', 1323], ['e25', 1328], ['e06', 1328], ['e23', 1323], ['e03', 1333], ['e27', 1278], ['e01', 1330]],
[500, 77, 1]],
{'e01': 77, 'e03': 500, 'e06': 1}),
('second regression',
[[['e02', 1415], ['e16', 1420], ['e18', 1420], ['e19', 1420], ['e09', 1420], ['e08', 1413], ['e11', 1420]],
[199, 100]],
{'e09': 60, 'e11': 60, 'e16': 60, 'e18': 60, 'e19': 59}),
('normal control 1',
[[['e24', 1500], ['e29', 1493], ['e10', 1500], ['e21', 1500], ['e13', 1493]], [1000, 1000, 1000, 500, 2]],
{'e10': 1000, 'e13': 251, 'e21': 1000, 'e24': 1000, 'e29': 251}),
('normal control 2', [[['e21', 1333], ['e03', 1333], ['e07', 1333]], [1000, 1000, 501, 250, 1]],
{'e03': 834, 'e07': 834, 'e21': 833}),
('normal control 3', [[['e02', 1420], ['e25', 1413], ['e27', 1365]], [501, 500, 77, 2]],
{'e02': 501, 'e25': 500, 'e27': 77}),
('normal control 4', [[['e20', 1445], ['e24', 1495], ['e28', 1490], ['e05', 1445]], [1000, 77, 77, 1]],
{'e05': 39, 'e20': 39, 'e24': 1000, 'e28': 77})],
[('regression: remainder-only recipients',
[[['e13', 1365], ['e02', 1413], ['e28', 1410], ['e15', 1420], ['e10', 1420], ['e26', 1413], ['e07', 1415],
['e18', 1410]],
[1000, 501, 500, 77]],
{'e02': 39, 'e07': 500, 'e10': 751, 'e15': 750, 'e26': 38}),
('partial repair probe: remainder-only recipients',
[[['e05', 1330], ['e09', 1330], ['e12', 1328], ['e06', 1333], ['e13', 1328], ['e25', 1326], ['e29', 1323]],
[199, 1]],
{'e05': 1, 'e06': 199}),
('second regression',
[[['e13', 1333], ['e10', 1326], ['e21', 1333], ['e27', 1328], ['e04', 1278], ['e14', 1278], ['e23', 1323],
['e28', 1323]],
[501, 2, 1]],
{'e13': 252, 'e21': 251, 'e27': 1}),
('normal control 1', [[['e05', 1326], ['e26', 1278], ['e04', 1328]], [250, 199, 100, 100]],
{'e04': 250, 'e05': 199, 'e26': 100}),
('normal control 2',
[[['e15', 1333], ['e27', 1333], ['e24', 1333], ['e04', 1326]], [1000, 1000, 77, 77, 2]],
{'e04': 77, 'e15': 693, 'e24': 692, 'e27': 692}),
('normal control 3', [[['e06', 1278], ['e18', 1323], ['e10', 1333]], [500, 199, 77]],
{'e06': 77, 'e10': 500, 'e18': 199}),
('normal control 4',
[[['e06', 1500], ['e03', 1445], ['e04', 1445], ['e29', 1490], ['e17', 1500]], [250, 199, 100, 100]],
{'e03': 50, 'e04': 50, 'e06': 225, 'e17': 224, 'e29': 100})]]
for label, args, expected in fixtures[N-1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: remainder-only recipients | {'e01': 107, 'e16': 107, 'e22': 107, 'e28': 106} | {'e01': 107, 'e16': 107, 'e22': 107, 'e28': 106} | Passed |
| partial repair probe: remainder-only recipients | {'e06': 563, 'e11': 563, 'e13': 563, 'e23': 562} | {'e06': 563, 'e11': 563, 'e13': 563, 'e19': 1, 'e23': 562} | Failed |
| second regression | {'e05': 234, 'e11': 501, 'e15': 234, 'e21': 500, 'e27': 234} | {'e05': 234, 'e11': 501, 'e15': 234, 'e21': 500, 'e27': 234} | Passed |
| normal control 1 | {'e18': 1000, 'e20': 250, 'e24': 1000} | {'e18': 1000, 'e20': 250, 'e24': 1000} | Passed |
| normal control 2 | {'e03': 2, 'e11': 300, 'e21': 300, 'e23': 299} | {'e03': 2, 'e11': 300, 'e21': 300, 'e23': 299} | Passed |
| normal control 3 | {'e06': 276, 'e10': 275, 'e19': 1000} | {'e06': 276, 'e10': 275, 'e19': 1000} | Passed |
| normal control 4 | {'e07': 21, 'e11': 21, 'e15': 625, 'e17': 20, 'e21': 20, 'e23': 20, 'e27': 625} | {'e07': 21, 'e11': 21, 'e15': 625, 'e17': 20, 'e21': 20, 'e23': 20, 'e27': 625} | Passed |
SHA-256 / acc1ec3d8f50a2dbe904b767cdd2e38fed7ab2621987d5b2e1aa99c1e64c4e88
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(entries, payouts):
ordered = sorted(entries, key=lambda e: (-e[1], e[0]))
out = {}
i = 0
while i < len(ordered):
j = i
while j < len(ordered) and ordered[j][1] == ordered[i][1]:
j += 1
pool = sum(payouts[i:j])
group = sorted(e[0] for e in ordered[i:j])
share, extra = divmod(pool, len(group))
for k, eid in enumerate(group):
amt = share + (1 if k < extra else 0)
if amt > 0:
out[eid] = amt
i = j
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: remainder-only recipients',
[[['e22', 1500], ['e06', 1497], ['e27', 1495], ['e28', 1500], ['e09', 1495], ['e02', 1493], ['e01', 1500],
['e16', 1500], ['e11', 1495]],
[250, 100, 77]],
{'e01': 107, 'e16': 107, 'e22': 107, 'e28': 106}),
('partial repair probe: remainder-only recipients',
[[['e06', 1333], ['e19', 1328], ['e10', 1278], ['e20', 1328], ['e29', 1323], ['e11', 1333], ['e23', 1333],
['e13', 1333]],
[1000, 501, 500, 250, 1]],
{'e06': 563, 'e11': 563, 'e13': 563, 'e19': 1, 'e23': 562}),
('second regression',
[[['e15', 1413], ['e03', 1365], ['e11', 1420], ['e05', 1413], ['e02', 1410], ['e27', 1413], ['e25', 1410],
['e21', 1417]],
[501, 500, 301, 301, 100]],
{'e05': 234, 'e11': 501, 'e15': 234, 'e21': 500, 'e27': 234}),
('normal control 1', [[['e20', 1490], ['e24', 1500], ['e18', 1495]], [1000, 1000, 250, 2]],
{'e18': 1000, 'e20': 250, 'e24': 1000}),
('normal control 2', [[['e03', 1490], ['e11', 1500], ['e23', 1500], ['e21', 1500]], [501, 199, 199, 2, 1]],
{'e03': 2, 'e11': 300, 'e21': 300, 'e23': 299}),
('normal control 3', [[['e06', 1365], ['e19', 1410], ['e10', 1365]], [1000, 301, 250, 77, 77]],
{'e06': 276, 'e10': 275, 'e19': 1000}),
('normal control 4',
[[['e17', 1490], ['e27', 1495], ['e23', 1490], ['e11', 1490], ['e07', 1490], ['e15', 1495], ['e21', 1490]],
[1000, 250, 100, 1, 1]],
{'e07': 21, 'e11': 21, 'e15': 625, 'e17': 20, 'e21': 20, 'e23': 20, 'e27': 625})],
[('regression: remainder-only recipients',
[[['e06', 1415], ['e16', 1365], ['e12', 1415], ['e26', 1415], ['e05', 1410]], [500, 301]],
{'e06': 267, 'e12': 267, 'e26': 267}),
('partial repair probe: remainder-only recipients',
[[['e05', 1330], ['e29', 1323], ['e15', 1333], ['e28', 1326], ['e27', 1278], ['e01', 1323]],
[501, 500, 250, 1]],
{'e01': 1, 'e05': 500, 'e15': 501, 'e28': 250}),
('second regression',
[[['e22', 1490], ['e28', 1495], ['e14', 1493], ['e13', 1500], ['e03', 1500], ['e21', 1495], ['e29', 1445]],
[500, 301, 100]],
{'e03': 401, 'e13': 400, 'e21': 50, 'e28': 50}),
('normal control 1', [[['e08', 1420], ['e19', 1420], ['e17', 1413]], [501, 77, 77, 1]],
{'e08': 289, 'e17': 77, 'e19': 289}),
('normal control 2', [[['e25', 1497], ['e13', 1490], ['e26', 1445], ['e10', 1445]], [1000, 100, 77, 2, 2]],
{'e10': 40, 'e13': 100, 'e25': 1000, 'e26': 39}),
('normal control 3', [[['e09', 1415], ['e11', 1417], ['e04', 1417]], [199, 199, 1]],
{'e04': 199, 'e09': 1, 'e11': 199}),
('normal control 4',
[[['e02', 1413], ['e21', 1417], ['e06', 1415], ['e01', 1365], ['e20', 1415]], [1000, 1000, 501, 501, 1]],
{'e01': 1, 'e02': 501, 'e06': 751, 'e20': 750, 'e21': 1000})],
[('regression: remainder-only recipients',
[[['e09', 1490], ['e13', 1493], ['e24', 1500], ['e28', 1500], ['e02', 1445], ['e17', 1493], ['e15', 1495],
['e04', 1490]],
[1000, 501, 301, 2, 1]],
{'e13': 2, 'e15': 301, 'e17': 1, 'e24': 751, 'e28': 750}),
('partial repair probe: remainder-only recipients',
[[['e19', 1417], ['e11', 1415], ['e18', 1420], ['e27', 1415]], [199, 1, 1]],
{'e11': 1, 'e18': 199, 'e19': 1}),
('second regression',
[[['e25', 1333], ['e13', 1328], ['e01', 1333], ['e05', 1323], ['e22', 1278], ['e29', 1323], ['e08', 1326],
['e15', 1333], ['e09', 1278]],
[301, 250, 77]],
{'e01': 210, 'e15': 209, 'e25': 209}),
('normal control 1', [[['e01', 1417], ['e26', 1420], ['e17', 1415], ['e25', 1420]], [1000, 500, 500, 301]],
{'e01': 500, 'e17': 301, 'e25': 750, 'e26': 750}),
('normal control 2', [[['e01', 1365], ['e10', 1417], ['e29', 1365]], [1000, 501, 250, 199]],
{'e01': 376, 'e10': 1000, 'e29': 375}),
('normal control 3', [[['e17', 1490], ['e08', 1493], ['e03', 1500]], [1000, 501, 500, 500, 2]],
{'e03': 1000, 'e08': 501, 'e17': 500}),
('normal control 4', [[['e05', 1333], ['e10', 1278], ['e27', 1326]], [250, 199, 77]],
{'e05': 250, 'e10': 77, 'e27': 199})],
[('regression: remainder-only recipients',
[[['e18', 1415], ['e06', 1420], ['e21', 1410], ['e02', 1415]], [1000, 100]],
{'e02': 50, 'e06': 1000, 'e18': 50}),
('partial repair probe: remainder-only recipients',
[[['e21', 1323], ['e25', 1328], ['e06', 1328], ['e23', 1323], ['e03', 1333], ['e27', 1278], ['e01', 1330]],
[500, 77, 1]],
{'e01': 77, 'e03': 500, 'e06': 1}),
('second regression',
[[['e02', 1415], ['e16', 1420], ['e18', 1420], ['e19', 1420], ['e09', 1420], ['e08', 1413], ['e11', 1420]],
[199, 100]],
{'e09': 60, 'e11': 60, 'e16': 60, 'e18': 60, 'e19': 59}),
('normal control 1',
[[['e24', 1500], ['e29', 1493], ['e10', 1500], ['e21', 1500], ['e13', 1493]], [1000, 1000, 1000, 500, 2]],
{'e10': 1000, 'e13': 251, 'e21': 1000, 'e24': 1000, 'e29': 251}),
('normal control 2', [[['e21', 1333], ['e03', 1333], ['e07', 1333]], [1000, 1000, 501, 250, 1]],
{'e03': 834, 'e07': 834, 'e21': 833}),
('normal control 3', [[['e02', 1420], ['e25', 1413], ['e27', 1365]], [501, 500, 77, 2]],
{'e02': 501, 'e25': 500, 'e27': 77}),
('normal control 4', [[['e20', 1445], ['e24', 1495], ['e28', 1490], ['e05', 1445]], [1000, 77, 77, 1]],
{'e05': 39, 'e20': 39, 'e24': 1000, 'e28': 77})],
[('regression: remainder-only recipients',
[[['e13', 1365], ['e02', 1413], ['e28', 1410], ['e15', 1420], ['e10', 1420], ['e26', 1413], ['e07', 1415],
['e18', 1410]],
[1000, 501, 500, 77]],
{'e02': 39, 'e07': 500, 'e10': 751, 'e15': 750, 'e26': 38}),
('partial repair probe: remainder-only recipients',
[[['e05', 1330], ['e09', 1330], ['e12', 1328], ['e06', 1333], ['e13', 1328], ['e25', 1326], ['e29', 1323]],
[199, 1]],
{'e05': 1, 'e06': 199}),
('second regression',
[[['e13', 1333], ['e10', 1326], ['e21', 1333], ['e27', 1328], ['e04', 1278], ['e14', 1278], ['e23', 1323],
['e28', 1323]],
[501, 2, 1]],
{'e13': 252, 'e21': 251, 'e27': 1}),
('normal control 1', [[['e05', 1326], ['e26', 1278], ['e04', 1328]], [250, 199, 100, 100]],
{'e04': 250, 'e05': 199, 'e26': 100}),
('normal control 2',
[[['e15', 1333], ['e27', 1333], ['e24', 1333], ['e04', 1326]], [1000, 1000, 77, 77, 2]],
{'e04': 77, 'e15': 693, 'e24': 692, 'e27': 692}),
('normal control 3', [[['e06', 1278], ['e18', 1323], ['e10', 1333]], [500, 199, 77]],
{'e06': 77, 'e10': 500, 'e18': 199}),
('normal control 4',
[[['e06', 1500], ['e03', 1445], ['e04', 1445], ['e29', 1490], ['e17', 1500]], [250, 199, 100, 100]],
{'e03': 50, 'e04': 50, 'e06': 225, 'e17': 224, 'e29': 100})]]
for label, args, expected in fixtures[N-1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: remainder-only recipients | {'e01': 107, 'e16': 107, 'e22': 107, 'e28': 106} | {'e01': 107, 'e16': 107, 'e22': 107, 'e28': 106} | Passed |
| partial repair probe: remainder-only recipients | {'e06': 563, 'e11': 563, 'e13': 563, 'e19': 1, 'e23': 562} | {'e06': 563, 'e11': 563, 'e13': 563, 'e19': 1, 'e23': 562} | Passed |
| second regression | {'e05': 234, 'e11': 501, 'e15': 234, 'e21': 500, 'e27': 234} | {'e05': 234, 'e11': 501, 'e15': 234, 'e21': 500, 'e27': 234} | Passed |
| normal control 1 | {'e18': 1000, 'e20': 250, 'e24': 1000} | {'e18': 1000, 'e20': 250, 'e24': 1000} | Passed |
| normal control 2 | {'e03': 2, 'e11': 300, 'e21': 300, 'e23': 299} | {'e03': 2, 'e11': 300, 'e21': 300, 'e23': 299} | Passed |
| normal control 3 | {'e06': 276, 'e10': 275, 'e19': 1000} | {'e06': 276, 'e10': 275, 'e19': 1000} | Passed |
| normal control 4 | {'e07': 21, 'e11': 21, 'e15': 625, 'e17': 20, 'e21': 20, 'e23': 20, 'e27': 625} | {'e07': 21, 'e11': 21, 'e15': 625, 'e17': 20, 'e21': 20, 'e23': 20, 'e27': 625} | Passed |
SHA-256 / 2b859324531ffd3bf531748776ce35afd23f6ec3c3d410aadc206a15d6642b41
Verification & scope
A deterministic toy scoring contract stipulated for this example; it is not the rulebook of any real fantasy platform. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.
Observations recorded using Python 3.12.14 at 2026-09-29T14:50:36.667195+00:00.
Case digest / 57b10fbeabcea593013fc3b9ad62d4fc4baebda732bd29b35fd3aa3e5b2bf80a