FAILURE MAP
← Case archive

FA-68641 / Toll and parking fee computation / Open access

One-way bridge toll with frequent-user discount: the tolled direction is hard-coded westbound · case 01

One-way bridge toll with frequent-user discount returns a wrong result when the tolled direction is hard-coded westbound.

Verified by executionVariant 1 · 8 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The direction test is inverted, charging the free direction.

VERIFIED REPAIR

Restore the tolled direction rule so that the step reads `if d != x['toll_dir']:`.

Unsuccessful approach: Hard-coding westbound breaks bridges tolled eastbound.

Case contract

Input {trips: [[month index, direction, occupancy]], toll_dir, base, threshold, discount_pct, carpool_min}. Only trips in toll_dir are tolled. Carpools (occupancy >= carpool_min) are free and do not count. Paid trips are counted per month index (no carry-over between months); trips beyond threshold in a month pay floor(base*(100-discount)/100).

Why this case matters

Fee engines bill customers in integer cents; a wrong boundary, rounding stage or cap scope silently over- or under-charges.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(x):
    counts = {}
    total = 0
    for month, d, occ in x['trips']:
        if d == x['toll_dir']:
            continue
        if occ >= x['carpool_min']:
            continue
        k = counts.get(month, 0) + 1
        counts[month] = k
        if k > x['threshold']:
            total += x['base'] * (100 - x['discount_pct']) // 100
        else:
            total += x['base']
    return total
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[1, 'W', 1], [13, 'E', 2], [2, 'E', 4]], 'toll_dir': 'W', 'base': 725, 'threshold': 3, 'discount_pct': 25, 'carpool_min': 3}, 725), ({'trips': [[13, 'E', 1], [13, 'W', 1], [13, 'W', 1], [1, 'W', 1], [2, 'E', 1], [13, 'E', 2], [1, 'W', 2], [2, 'W', 3], [2, 'W', 4], [13, 'E', 4], [1, 'E', 1], [1, 'W', 2], [1, 'W', 1], [13, 'W', 1], [2, 'E', 1], [1, 'E', 1]], 'toll_dir': 'E', 'base': 600, 'threshold': 5, 'discount_pct': 25, 'carpool_min': 2}, 3000), ({'trips': [[1, 'E', 3], [1, 'W', 3], [1, 'E', 1], [2, 'W', 1], [13, 'W', 1], [13, 'E', 1], [2, 'W', 3], [1, 'E', 1], [1, 'E', 1], [13, 'W', 1], [2, 'W', 4], [1, 'W', 4], [1, 'W', 2], [2, 'E', 1], [13, 'E', 1]], 'toll_dir': 'W', 'base': 600, 'threshold': 5, 'discount_pct': 25, 'carpool_min': 3}, 2400), ({'trips': [[1, 'E', 1], [13, 'W', 1], [1, 'W', 3], [13, 'E', 1]], 'toll_dir': 'E', 'base': 850, 'threshold': 5, 'discount_pct': 25, 'carpool_min': 2}, 1700), ({'trips': [[13, 'W', 1], [1, 'E', 2], [2, 'E', 3], [13, 'E', 2], [1, 'E', 3], [13, 'E', 3], [1, 'W', 3], [1, 'W', 1], [2, 'W', 2], [1, 'E', 1], [1, 'W', 2], [2, 'E', 2]], 'toll_dir': 'E', 'base': 600, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 2}, 600), ({'trips': [[1, 'W', 3], [1, 'W', 1], [1, 'W', 1], [1, 'E', 3], [1, 'E', 1], [2, 'W', 1], [13, 'E', 4], [1, 'E', 1], [13, 'E', 1], [2, 'W', 1], [13, 'E', 4], [1, 'E', 1]], 'toll_dir': 'E', 'base': 600, 'threshold': 4, 'discount_pct': 25, 'carpool_min': 3}, 2400), ({'trips': [[13, 'E', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1], [1, 'W', 3], [1, 'E', 4], [13, 'W', 4], [2, 'E', 1], [2, 'W', 4], [1, 'E', 1], [1, 'E', 1], [1, 'W', 1], [1, 'W', 1], [2, 'W', 4]], 'toll_dir': 'W', 'base': 725, 'threshold': 4, 'discount_pct': 40, 'carpool_min': 2}, 2900)], [({'trips': [[13, 'E', 1], [2, 'W', 2], [1, 'E', 1], [13, 'W', 3], [13, 'W', 2], [2, 'E', 2], [13, 'E', 2], [2, 'E', 1], [1, 'W', 1], [13, 'W', 2], [1, 'W', 1], [2, 'E', 1], [1, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 2}, 2900), ({'trips': [[2, 'E', 1], [2, 'E', 3], [1, 'W', 1], [1, 'E', 2], [1, 'E', 3], [1, 'W', 4], [1, 'W', 2], [1, 'E', 3]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 2}, 600), ({'trips': [[2, 'W', 3], [1, 'E', 4], [1, 'W', 1], [1, 'W', 4], [13, 'W', 4], [1, 'E', 1], [1, 'W', 3], [2, 'W', 4], [2, 'E', 1], [2, 'W', 1], [13, 'W', 3]], 'toll_dir': 'W', 'base': 725, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 2}, 1450), ({'trips': [[1, 'W', 3], [1, 'E', 1], [1, 'W', 2], [2, 'W', 4], [13, 'E', 1], [2, 'W', 4]], 'toll_dir': 'W', 'base': 850, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 2}, 0), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[1, 'E', 4], [1, 'E', 1], [2, 'E', 1], [2, 'E', 1], [1, 'W', 2], [1, 'E', 2]], 'toll_dir': 'E', 'base': 850, 'threshold': 3, 'discount_pct': 40, 'carpool_min': 2}, 2550), ({'trips': [[1, 'W', 1], [1, 'W', 4], [1, 'E', 2]], 'toll_dir': 'W', 'base': 850, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 3}, 850), ({'trips': [[13, 'E', 1], [2, 'W', 1], [2, 'W', 1], [13, 'E', 2]], 'toll_dir': 'W', 'base': 600, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 3}, 1200)], [({'trips': [[13, 'W', 4], [1, 'E', 1], [1, 'W', 3], [1, 'E', 2], [1, 'E', 2], [1, 'E', 2], [1, 'E', 1], [2, 'W', 2], [1, 'W', 3], [1, 'E', 3], [1, 'W', 4], [2, 'E', 3], [1, 'E', 1]], 'toll_dir': 'W', 'base': 600, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 3}, 600), ({'trips': [[2, 'E', 1], [1, 'E', 1], [2, 'E', 1], [1, 'E', 3], [13, 'E', 1], [2, 'E', 4], [1, 'W', 1], [1, 'E', 4]], 'toll_dir': 'E', 'base': 600, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 3}, 2400), ({'trips': [[1, 'E', 1], [1, 'E', 1], [13, 'E', 1], [2, 'E', 2], [13, 'W', 2], [1, 'E', 1], [1, 'E', 1], [1, 'W', 4], [2, 'E', 4]], 'toll_dir': 'E', 'base': 725, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 3}, 3770), ({'trips': [[1, 'W', 4], [13, 'W', 1], [1, 'E', 1], [13, 'E', 1], [2, 'W', 2], [2, 'E', 2], [1, 'E', 1], [1, 'W', 3], [2, 'W', 1], [13, 'E', 4], [1, 'W', 2], [2, 'E', 1], [1, 'W', 4], [2, 'W', 3], [13, 'W', 3], [1, 'E', 1]], 'toll_dir': 'W', 'base': 850, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 3}, 3400), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[13, 'W', 4], [13, 'E', 1], [1, 'W', 2]], 'toll_dir': 'W', 'base': 850, 'threshold': 1, 'discount_pct': 25, 'carpool_min': 3}, 850), ({'trips': [[1, 'E', 1], [1, 'W', 1], [1, 'W', 2], [2, 'E', 4], [13, 'E', 1], [13, 'E', 1], [2, 'E', 4], [1, 'W', 1], [1, 'W', 3], [13, 'E', 3]], 'toll_dir': 'E', 'base': 600, 'threshold': 5, 'discount_pct': 40, 'carpool_min': 3}, 1800), ({'trips': [[13, 'E', 3], [1, 'W', 1], [2, 'E', 1], [2, 'W', 1], [1, 'W', 2], [2, 'W', 4], [13, 'E', 1], [1, 'E', 2], [2, 'E', 4], [2, 'E', 4], [2, 'E', 2]], 'toll_dir': 'E', 'base': 725, 'threshold': 3, 'discount_pct': 40, 'carpool_min': 2}, 1450)], [({'trips': [[2, 'W', 3], [1, 'E', 1], [1, 'E', 4], [13, 'E', 1], [1, 'E', 1], [13, 'E', 3]], 'toll_dir': 'W', 'base': 850, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 3}, 0), ({'trips': [[1, 'W', 1], [1, 'E', 1], [1, 'E', 4], [13, 'E', 2], [2, 'W', 4], [13, 'W', 1], [2, 'E', 1], [1, 'E', 2], [1, 'W', 1], [2, 'W', 1], [2, 'E', 1], [13, 'W', 2], [1, 'E', 1], [1, 'W', 1], [1, 'E', 2], [1, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 2}, 2420), ({'trips': [[13, 'W', 1], [2, 'W', 1], [2, 'E', 1], [1, 'W', 1], [1, 'W', 4], [13, 'E', 4], [13, 'W', 1], [13, 'E', 1], [1, 'E', 1], [1, 'E', 2], [2, 'W', 2], [1, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 4, 'discount_pct': 25, 'carpool_min': 3}, 2900), ({'trips': [[1, 'E', 1], [1, 'E', 1], [2, 'E', 1], [1, 'W', 3], [2, 'W', 1], [2, 'E', 4], [13, 'W', 1], [1, 'W', 2]], 'toll_dir': 'W', 'base': 600, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 3}, 1800), ({'trips': [[1, 'E', 1], [13, 'E', 2], [1, 'W', 1], [1, 'W', 1], [13, 'W', 1], [2, 'W', 1], [1, 'E', 2], [1, 'E', 3], [1, 'W', 1], [1, 'E', 4], [2, 'W', 1], [1, 'W', 3]], 'toll_dir': 'W', 'base': 850, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 3}, 4760), ({'trips': [[1, 'E', 4], [13, 'E', 3], [1, 'E', 2], [2, 'W', 1], [1, 'E', 2], [2, 'E', 1], [13, 'E', 2], [1, 'E', 1], [13, 'W', 1], [13, 'E', 1], [2, 'W', 4], [2, 'W', 3], [1, 'W', 1], [1, 'E', 1], [1, 'W', 1]], 'toll_dir': 'W', 'base': 850, 'threshold': 1, 'discount_pct': 25, 'carpool_min': 2}, 3187), ({'trips': [[13, 'W', 1], [13, 'W', 1], [13, 'E', 1], [1, 'E', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 3}, 1450), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660)], [({'trips': [[13, 'W', 1], [13, 'E', 1], [2, 'E', 1], [2, 'W', 1], [1, 'W', 4], [1, 'W', 2], [1, 'W', 1], [2, 'W', 3], [2, 'W', 1], [1, 'E', 1], [13, 'E', 4], [13, 'E', 4], [13, 'W', 1], [1, 'E', 1], [13, 'E', 1], [1, 'W', 3]], 'toll_dir': 'W', 'base': 725, 'threshold': 3, 'discount_pct': 40, 'carpool_min': 2}, 3625), ({'trips': [[1, 'W', 1], [1, 'E', 1], [1, 'E', 3]], 'toll_dir': 'W', 'base': 850, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 2}, 850), ({'trips': [[13, 'E', 2], [1, 'W', 4], [1, 'E', 1], [1, 'W', 3], [1, 'W', 1], [1, 'W', 2], [1, 'E', 3], [13, 'W', 4], [13, 'W', 3], [1, 'W', 1], [2, 'E', 1], [13, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 1, 'discount_pct': 40, 'carpool_min': 2}, 1450), ({'trips': [[2, 'E', 1], [2, 'E', 1], [2, 'E', 1], [1, 'W', 1], [13, 'W', 3], [13, 'E', 3], [13, 'W', 2], [2, 'W', 2]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 25, 'carpool_min': 3}, 1500), ({'trips': [[2, 'W', 1], [1, 'E', 1], [2, 'E', 1], [2, 'W', 2], [13, 'W', 3], [13, 'E', 4], [13, 'W', 1], [13, 'W', 2], [13, 'E', 4]], 'toll_dir': 'W', 'base': 850, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 2}, 1700), ({'trips': [[1, 'E', 3], [13, 'E', 3], [13, 'W', 1], [13, 'W', 1], [2, 'E', 1], [1, 'E', 2], [1, 'W', 1], [2, 'W', 2], [13, 'E', 1], [2, 'E', 2], [13, 'E', 1], [2, 'W', 2], [1, 'W', 1], [1, 'W', 1], [13, 'E', 1], [1, 'E', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 1, 'discount_pct': 40, 'carpool_min': 3}, 3915), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[2, 'W', 4], [13, 'W', 1], [1, 'E', 3], [1, 'E', 1], [1, 'E', 4], [2, 'W', 1], [13, 'E', 3], [1, 'E', 2], [13, 'E', 4], [2, 'E', 3], [1, 'E', 3], [1, 'W', 1], [2, 'E', 1], [1, 'W', 3]], 'toll_dir': 'E', 'base': 850, 'threshold': 4, 'discount_pct': 25, 'carpool_min': 2}, 1700)]]
for i, (args, expected) in enumerate(fixtures[N-1]):
    check('fee oracle' + ' %d' % i, 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 fixtureActualExpectedOutcome
fee oracle 002660Failed
fee oracle 1725725Passed
fee oracle 230003000Passed
fee oracle 336002400Failed
fee oracle 48501700Failed
fee oracle 51200600Failed
fee oracle 624002400Passed
fee oracle 729002900Passed

SHA-256 / a0e72eeb18003731520a6541ce2f17c9a5747e3fded4036365ab57b4ab037446

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(x):
    counts = {}
    total = 0
    for month, d, occ in x['trips']:
        if d != 'W':
            continue
        if occ >= x['carpool_min']:
            continue
        k = counts.get(month, 0) + 1
        counts[month] = k
        if k > x['threshold']:
            total += x['base'] * (100 - x['discount_pct']) // 100
        else:
            total += x['base']
    return total
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[1, 'W', 1], [13, 'E', 2], [2, 'E', 4]], 'toll_dir': 'W', 'base': 725, 'threshold': 3, 'discount_pct': 25, 'carpool_min': 3}, 725), ({'trips': [[13, 'E', 1], [13, 'W', 1], [13, 'W', 1], [1, 'W', 1], [2, 'E', 1], [13, 'E', 2], [1, 'W', 2], [2, 'W', 3], [2, 'W', 4], [13, 'E', 4], [1, 'E', 1], [1, 'W', 2], [1, 'W', 1], [13, 'W', 1], [2, 'E', 1], [1, 'E', 1]], 'toll_dir': 'E', 'base': 600, 'threshold': 5, 'discount_pct': 25, 'carpool_min': 2}, 3000), ({'trips': [[1, 'E', 3], [1, 'W', 3], [1, 'E', 1], [2, 'W', 1], [13, 'W', 1], [13, 'E', 1], [2, 'W', 3], [1, 'E', 1], [1, 'E', 1], [13, 'W', 1], [2, 'W', 4], [1, 'W', 4], [1, 'W', 2], [2, 'E', 1], [13, 'E', 1]], 'toll_dir': 'W', 'base': 600, 'threshold': 5, 'discount_pct': 25, 'carpool_min': 3}, 2400), ({'trips': [[1, 'E', 1], [13, 'W', 1], [1, 'W', 3], [13, 'E', 1]], 'toll_dir': 'E', 'base': 850, 'threshold': 5, 'discount_pct': 25, 'carpool_min': 2}, 1700), ({'trips': [[13, 'W', 1], [1, 'E', 2], [2, 'E', 3], [13, 'E', 2], [1, 'E', 3], [13, 'E', 3], [1, 'W', 3], [1, 'W', 1], [2, 'W', 2], [1, 'E', 1], [1, 'W', 2], [2, 'E', 2]], 'toll_dir': 'E', 'base': 600, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 2}, 600), ({'trips': [[1, 'W', 3], [1, 'W', 1], [1, 'W', 1], [1, 'E', 3], [1, 'E', 1], [2, 'W', 1], [13, 'E', 4], [1, 'E', 1], [13, 'E', 1], [2, 'W', 1], [13, 'E', 4], [1, 'E', 1]], 'toll_dir': 'E', 'base': 600, 'threshold': 4, 'discount_pct': 25, 'carpool_min': 3}, 2400), ({'trips': [[13, 'E', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1], [1, 'W', 3], [1, 'E', 4], [13, 'W', 4], [2, 'E', 1], [2, 'W', 4], [1, 'E', 1], [1, 'E', 1], [1, 'W', 1], [1, 'W', 1], [2, 'W', 4]], 'toll_dir': 'W', 'base': 725, 'threshold': 4, 'discount_pct': 40, 'carpool_min': 2}, 2900)], [({'trips': [[13, 'E', 1], [2, 'W', 2], [1, 'E', 1], [13, 'W', 3], [13, 'W', 2], [2, 'E', 2], [13, 'E', 2], [2, 'E', 1], [1, 'W', 1], [13, 'W', 2], [1, 'W', 1], [2, 'E', 1], [1, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 2}, 2900), ({'trips': [[2, 'E', 1], [2, 'E', 3], [1, 'W', 1], [1, 'E', 2], [1, 'E', 3], [1, 'W', 4], [1, 'W', 2], [1, 'E', 3]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 2}, 600), ({'trips': [[2, 'W', 3], [1, 'E', 4], [1, 'W', 1], [1, 'W', 4], [13, 'W', 4], [1, 'E', 1], [1, 'W', 3], [2, 'W', 4], [2, 'E', 1], [2, 'W', 1], [13, 'W', 3]], 'toll_dir': 'W', 'base': 725, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 2}, 1450), ({'trips': [[1, 'W', 3], [1, 'E', 1], [1, 'W', 2], [2, 'W', 4], [13, 'E', 1], [2, 'W', 4]], 'toll_dir': 'W', 'base': 850, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 2}, 0), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[1, 'E', 4], [1, 'E', 1], [2, 'E', 1], [2, 'E', 1], [1, 'W', 2], [1, 'E', 2]], 'toll_dir': 'E', 'base': 850, 'threshold': 3, 'discount_pct': 40, 'carpool_min': 2}, 2550), ({'trips': [[1, 'W', 1], [1, 'W', 4], [1, 'E', 2]], 'toll_dir': 'W', 'base': 850, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 3}, 850), ({'trips': [[13, 'E', 1], [2, 'W', 1], [2, 'W', 1], [13, 'E', 2]], 'toll_dir': 'W', 'base': 600, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 3}, 1200)], [({'trips': [[13, 'W', 4], [1, 'E', 1], [1, 'W', 3], [1, 'E', 2], [1, 'E', 2], [1, 'E', 2], [1, 'E', 1], [2, 'W', 2], [1, 'W', 3], [1, 'E', 3], [1, 'W', 4], [2, 'E', 3], [1, 'E', 1]], 'toll_dir': 'W', 'base': 600, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 3}, 600), ({'trips': [[2, 'E', 1], [1, 'E', 1], [2, 'E', 1], [1, 'E', 3], [13, 'E', 1], [2, 'E', 4], [1, 'W', 1], [1, 'E', 4]], 'toll_dir': 'E', 'base': 600, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 3}, 2400), ({'trips': [[1, 'E', 1], [1, 'E', 1], [13, 'E', 1], [2, 'E', 2], [13, 'W', 2], [1, 'E', 1], [1, 'E', 1], [1, 'W', 4], [2, 'E', 4]], 'toll_dir': 'E', 'base': 725, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 3}, 3770), ({'trips': [[1, 'W', 4], [13, 'W', 1], [1, 'E', 1], [13, 'E', 1], [2, 'W', 2], [2, 'E', 2], [1, 'E', 1], [1, 'W', 3], [2, 'W', 1], [13, 'E', 4], [1, 'W', 2], [2, 'E', 1], [1, 'W', 4], [2, 'W', 3], [13, 'W', 3], [1, 'E', 1]], 'toll_dir': 'W', 'base': 850, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 3}, 3400), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[13, 'W', 4], [13, 'E', 1], [1, 'W', 2]], 'toll_dir': 'W', 'base': 850, 'threshold': 1, 'discount_pct': 25, 'carpool_min': 3}, 850), ({'trips': [[1, 'E', 1], [1, 'W', 1], [1, 'W', 2], [2, 'E', 4], [13, 'E', 1], [13, 'E', 1], [2, 'E', 4], [1, 'W', 1], [1, 'W', 3], [13, 'E', 3]], 'toll_dir': 'E', 'base': 600, 'threshold': 5, 'discount_pct': 40, 'carpool_min': 3}, 1800), ({'trips': [[13, 'E', 3], [1, 'W', 1], [2, 'E', 1], [2, 'W', 1], [1, 'W', 2], [2, 'W', 4], [13, 'E', 1], [1, 'E', 2], [2, 'E', 4], [2, 'E', 4], [2, 'E', 2]], 'toll_dir': 'E', 'base': 725, 'threshold': 3, 'discount_pct': 40, 'carpool_min': 2}, 1450)], [({'trips': [[2, 'W', 3], [1, 'E', 1], [1, 'E', 4], [13, 'E', 1], [1, 'E', 1], [13, 'E', 3]], 'toll_dir': 'W', 'base': 850, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 3}, 0), ({'trips': [[1, 'W', 1], [1, 'E', 1], [1, 'E', 4], [13, 'E', 2], [2, 'W', 4], [13, 'W', 1], [2, 'E', 1], [1, 'E', 2], [1, 'W', 1], [2, 'W', 1], [2, 'E', 1], [13, 'W', 2], [1, 'E', 1], [1, 'W', 1], [1, 'E', 2], [1, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 2}, 2420), ({'trips': [[13, 'W', 1], [2, 'W', 1], [2, 'E', 1], [1, 'W', 1], [1, 'W', 4], [13, 'E', 4], [13, 'W', 1], [13, 'E', 1], [1, 'E', 1], [1, 'E', 2], [2, 'W', 2], [1, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 4, 'discount_pct': 25, 'carpool_min': 3}, 2900), ({'trips': [[1, 'E', 1], [1, 'E', 1], [2, 'E', 1], [1, 'W', 3], [2, 'W', 1], [2, 'E', 4], [13, 'W', 1], [1, 'W', 2]], 'toll_dir': 'W', 'base': 600, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 3}, 1800), ({'trips': [[1, 'E', 1], [13, 'E', 2], [1, 'W', 1], [1, 'W', 1], [13, 'W', 1], [2, 'W', 1], [1, 'E', 2], [1, 'E', 3], [1, 'W', 1], [1, 'E', 4], [2, 'W', 1], [1, 'W', 3]], 'toll_dir': 'W', 'base': 850, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 3}, 4760), ({'trips': [[1, 'E', 4], [13, 'E', 3], [1, 'E', 2], [2, 'W', 1], [1, 'E', 2], [2, 'E', 1], [13, 'E', 2], [1, 'E', 1], [13, 'W', 1], [13, 'E', 1], [2, 'W', 4], [2, 'W', 3], [1, 'W', 1], [1, 'E', 1], [1, 'W', 1]], 'toll_dir': 'W', 'base': 850, 'threshold': 1, 'discount_pct': 25, 'carpool_min': 2}, 3187), ({'trips': [[13, 'W', 1], [13, 'W', 1], [13, 'E', 1], [1, 'E', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 3}, 1450), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660)], [({'trips': [[13, 'W', 1], [13, 'E', 1], [2, 'E', 1], [2, 'W', 1], [1, 'W', 4], [1, 'W', 2], [1, 'W', 1], [2, 'W', 3], [2, 'W', 1], [1, 'E', 1], [13, 'E', 4], [13, 'E', 4], [13, 'W', 1], [1, 'E', 1], [13, 'E', 1], [1, 'W', 3]], 'toll_dir': 'W', 'base': 725, 'threshold': 3, 'discount_pct': 40, 'carpool_min': 2}, 3625), ({'trips': [[1, 'W', 1], [1, 'E', 1], [1, 'E', 3]], 'toll_dir': 'W', 'base': 850, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 2}, 850), ({'trips': [[13, 'E', 2], [1, 'W', 4], [1, 'E', 1], [1, 'W', 3], [1, 'W', 1], [1, 'W', 2], [1, 'E', 3], [13, 'W', 4], [13, 'W', 3], [1, 'W', 1], [2, 'E', 1], [13, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 1, 'discount_pct': 40, 'carpool_min': 2}, 1450), ({'trips': [[2, 'E', 1], [2, 'E', 1], [2, 'E', 1], [1, 'W', 1], [13, 'W', 3], [13, 'E', 3], [13, 'W', 2], [2, 'W', 2]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 25, 'carpool_min': 3}, 1500), ({'trips': [[2, 'W', 1], [1, 'E', 1], [2, 'E', 1], [2, 'W', 2], [13, 'W', 3], [13, 'E', 4], [13, 'W', 1], [13, 'W', 2], [13, 'E', 4]], 'toll_dir': 'W', 'base': 850, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 2}, 1700), ({'trips': [[1, 'E', 3], [13, 'E', 3], [13, 'W', 1], [13, 'W', 1], [2, 'E', 1], [1, 'E', 2], [1, 'W', 1], [2, 'W', 2], [13, 'E', 1], [2, 'E', 2], [13, 'E', 1], [2, 'W', 2], [1, 'W', 1], [1, 'W', 1], [13, 'E', 1], [1, 'E', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 1, 'discount_pct': 40, 'carpool_min': 3}, 3915), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[2, 'W', 4], [13, 'W', 1], [1, 'E', 3], [1, 'E', 1], [1, 'E', 4], [2, 'W', 1], [13, 'E', 3], [1, 'E', 2], [13, 'E', 4], [2, 'E', 3], [1, 'E', 3], [1, 'W', 1], [2, 'E', 1], [1, 'W', 3]], 'toll_dir': 'E', 'base': 850, 'threshold': 4, 'discount_pct': 25, 'carpool_min': 2}, 1700)]]
for i, (args, expected) in enumerate(fixtures[N-1]):
    check('fee oracle' + ' %d' % i, 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 fixtureActualExpectedOutcome
fee oracle 026602660Passed
fee oracle 1725725Passed
fee oracle 230003000Passed
fee oracle 324002400Passed
fee oracle 48501700Failed
fee oracle 51200600Failed
fee oracle 624002400Passed
fee oracle 729002900Passed

SHA-256 / bbc4a63ce8025824a1dbedd425d9ed091b1e90ffce12afcafe14f7b75c610d01

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(x):
    counts = {}
    total = 0
    for month, d, occ in x['trips']:
        if d != x['toll_dir']:
            continue
        if occ >= x['carpool_min']:
            continue
        k = counts.get(month, 0) + 1
        counts[month] = k
        if k > x['threshold']:
            total += x['base'] * (100 - x['discount_pct']) // 100
        else:
            total += x['base']
    return total
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[1, 'W', 1], [13, 'E', 2], [2, 'E', 4]], 'toll_dir': 'W', 'base': 725, 'threshold': 3, 'discount_pct': 25, 'carpool_min': 3}, 725), ({'trips': [[13, 'E', 1], [13, 'W', 1], [13, 'W', 1], [1, 'W', 1], [2, 'E', 1], [13, 'E', 2], [1, 'W', 2], [2, 'W', 3], [2, 'W', 4], [13, 'E', 4], [1, 'E', 1], [1, 'W', 2], [1, 'W', 1], [13, 'W', 1], [2, 'E', 1], [1, 'E', 1]], 'toll_dir': 'E', 'base': 600, 'threshold': 5, 'discount_pct': 25, 'carpool_min': 2}, 3000), ({'trips': [[1, 'E', 3], [1, 'W', 3], [1, 'E', 1], [2, 'W', 1], [13, 'W', 1], [13, 'E', 1], [2, 'W', 3], [1, 'E', 1], [1, 'E', 1], [13, 'W', 1], [2, 'W', 4], [1, 'W', 4], [1, 'W', 2], [2, 'E', 1], [13, 'E', 1]], 'toll_dir': 'W', 'base': 600, 'threshold': 5, 'discount_pct': 25, 'carpool_min': 3}, 2400), ({'trips': [[1, 'E', 1], [13, 'W', 1], [1, 'W', 3], [13, 'E', 1]], 'toll_dir': 'E', 'base': 850, 'threshold': 5, 'discount_pct': 25, 'carpool_min': 2}, 1700), ({'trips': [[13, 'W', 1], [1, 'E', 2], [2, 'E', 3], [13, 'E', 2], [1, 'E', 3], [13, 'E', 3], [1, 'W', 3], [1, 'W', 1], [2, 'W', 2], [1, 'E', 1], [1, 'W', 2], [2, 'E', 2]], 'toll_dir': 'E', 'base': 600, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 2}, 600), ({'trips': [[1, 'W', 3], [1, 'W', 1], [1, 'W', 1], [1, 'E', 3], [1, 'E', 1], [2, 'W', 1], [13, 'E', 4], [1, 'E', 1], [13, 'E', 1], [2, 'W', 1], [13, 'E', 4], [1, 'E', 1]], 'toll_dir': 'E', 'base': 600, 'threshold': 4, 'discount_pct': 25, 'carpool_min': 3}, 2400), ({'trips': [[13, 'E', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1], [1, 'W', 3], [1, 'E', 4], [13, 'W', 4], [2, 'E', 1], [2, 'W', 4], [1, 'E', 1], [1, 'E', 1], [1, 'W', 1], [1, 'W', 1], [2, 'W', 4]], 'toll_dir': 'W', 'base': 725, 'threshold': 4, 'discount_pct': 40, 'carpool_min': 2}, 2900)], [({'trips': [[13, 'E', 1], [2, 'W', 2], [1, 'E', 1], [13, 'W', 3], [13, 'W', 2], [2, 'E', 2], [13, 'E', 2], [2, 'E', 1], [1, 'W', 1], [13, 'W', 2], [1, 'W', 1], [2, 'E', 1], [1, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 2}, 2900), ({'trips': [[2, 'E', 1], [2, 'E', 3], [1, 'W', 1], [1, 'E', 2], [1, 'E', 3], [1, 'W', 4], [1, 'W', 2], [1, 'E', 3]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 2}, 600), ({'trips': [[2, 'W', 3], [1, 'E', 4], [1, 'W', 1], [1, 'W', 4], [13, 'W', 4], [1, 'E', 1], [1, 'W', 3], [2, 'W', 4], [2, 'E', 1], [2, 'W', 1], [13, 'W', 3]], 'toll_dir': 'W', 'base': 725, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 2}, 1450), ({'trips': [[1, 'W', 3], [1, 'E', 1], [1, 'W', 2], [2, 'W', 4], [13, 'E', 1], [2, 'W', 4]], 'toll_dir': 'W', 'base': 850, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 2}, 0), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[1, 'E', 4], [1, 'E', 1], [2, 'E', 1], [2, 'E', 1], [1, 'W', 2], [1, 'E', 2]], 'toll_dir': 'E', 'base': 850, 'threshold': 3, 'discount_pct': 40, 'carpool_min': 2}, 2550), ({'trips': [[1, 'W', 1], [1, 'W', 4], [1, 'E', 2]], 'toll_dir': 'W', 'base': 850, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 3}, 850), ({'trips': [[13, 'E', 1], [2, 'W', 1], [2, 'W', 1], [13, 'E', 2]], 'toll_dir': 'W', 'base': 600, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 3}, 1200)], [({'trips': [[13, 'W', 4], [1, 'E', 1], [1, 'W', 3], [1, 'E', 2], [1, 'E', 2], [1, 'E', 2], [1, 'E', 1], [2, 'W', 2], [1, 'W', 3], [1, 'E', 3], [1, 'W', 4], [2, 'E', 3], [1, 'E', 1]], 'toll_dir': 'W', 'base': 600, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 3}, 600), ({'trips': [[2, 'E', 1], [1, 'E', 1], [2, 'E', 1], [1, 'E', 3], [13, 'E', 1], [2, 'E', 4], [1, 'W', 1], [1, 'E', 4]], 'toll_dir': 'E', 'base': 600, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 3}, 2400), ({'trips': [[1, 'E', 1], [1, 'E', 1], [13, 'E', 1], [2, 'E', 2], [13, 'W', 2], [1, 'E', 1], [1, 'E', 1], [1, 'W', 4], [2, 'E', 4]], 'toll_dir': 'E', 'base': 725, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 3}, 3770), ({'trips': [[1, 'W', 4], [13, 'W', 1], [1, 'E', 1], [13, 'E', 1], [2, 'W', 2], [2, 'E', 2], [1, 'E', 1], [1, 'W', 3], [2, 'W', 1], [13, 'E', 4], [1, 'W', 2], [2, 'E', 1], [1, 'W', 4], [2, 'W', 3], [13, 'W', 3], [1, 'E', 1]], 'toll_dir': 'W', 'base': 850, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 3}, 3400), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[13, 'W', 4], [13, 'E', 1], [1, 'W', 2]], 'toll_dir': 'W', 'base': 850, 'threshold': 1, 'discount_pct': 25, 'carpool_min': 3}, 850), ({'trips': [[1, 'E', 1], [1, 'W', 1], [1, 'W', 2], [2, 'E', 4], [13, 'E', 1], [13, 'E', 1], [2, 'E', 4], [1, 'W', 1], [1, 'W', 3], [13, 'E', 3]], 'toll_dir': 'E', 'base': 600, 'threshold': 5, 'discount_pct': 40, 'carpool_min': 3}, 1800), ({'trips': [[13, 'E', 3], [1, 'W', 1], [2, 'E', 1], [2, 'W', 1], [1, 'W', 2], [2, 'W', 4], [13, 'E', 1], [1, 'E', 2], [2, 'E', 4], [2, 'E', 4], [2, 'E', 2]], 'toll_dir': 'E', 'base': 725, 'threshold': 3, 'discount_pct': 40, 'carpool_min': 2}, 1450)], [({'trips': [[2, 'W', 3], [1, 'E', 1], [1, 'E', 4], [13, 'E', 1], [1, 'E', 1], [13, 'E', 3]], 'toll_dir': 'W', 'base': 850, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 3}, 0), ({'trips': [[1, 'W', 1], [1, 'E', 1], [1, 'E', 4], [13, 'E', 2], [2, 'W', 4], [13, 'W', 1], [2, 'E', 1], [1, 'E', 2], [1, 'W', 1], [2, 'W', 1], [2, 'E', 1], [13, 'W', 2], [1, 'E', 1], [1, 'W', 1], [1, 'E', 2], [1, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 2}, 2420), ({'trips': [[13, 'W', 1], [2, 'W', 1], [2, 'E', 1], [1, 'W', 1], [1, 'W', 4], [13, 'E', 4], [13, 'W', 1], [13, 'E', 1], [1, 'E', 1], [1, 'E', 2], [2, 'W', 2], [1, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 4, 'discount_pct': 25, 'carpool_min': 3}, 2900), ({'trips': [[1, 'E', 1], [1, 'E', 1], [2, 'E', 1], [1, 'W', 3], [2, 'W', 1], [2, 'E', 4], [13, 'W', 1], [1, 'W', 2]], 'toll_dir': 'W', 'base': 600, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 3}, 1800), ({'trips': [[1, 'E', 1], [13, 'E', 2], [1, 'W', 1], [1, 'W', 1], [13, 'W', 1], [2, 'W', 1], [1, 'E', 2], [1, 'E', 3], [1, 'W', 1], [1, 'E', 4], [2, 'W', 1], [1, 'W', 3]], 'toll_dir': 'W', 'base': 850, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 3}, 4760), ({'trips': [[1, 'E', 4], [13, 'E', 3], [1, 'E', 2], [2, 'W', 1], [1, 'E', 2], [2, 'E', 1], [13, 'E', 2], [1, 'E', 1], [13, 'W', 1], [13, 'E', 1], [2, 'W', 4], [2, 'W', 3], [1, 'W', 1], [1, 'E', 1], [1, 'W', 1]], 'toll_dir': 'W', 'base': 850, 'threshold': 1, 'discount_pct': 25, 'carpool_min': 2}, 3187), ({'trips': [[13, 'W', 1], [13, 'W', 1], [13, 'E', 1], [1, 'E', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 3}, 1450), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660)], [({'trips': [[13, 'W', 1], [13, 'E', 1], [2, 'E', 1], [2, 'W', 1], [1, 'W', 4], [1, 'W', 2], [1, 'W', 1], [2, 'W', 3], [2, 'W', 1], [1, 'E', 1], [13, 'E', 4], [13, 'E', 4], [13, 'W', 1], [1, 'E', 1], [13, 'E', 1], [1, 'W', 3]], 'toll_dir': 'W', 'base': 725, 'threshold': 3, 'discount_pct': 40, 'carpool_min': 2}, 3625), ({'trips': [[1, 'W', 1], [1, 'E', 1], [1, 'E', 3]], 'toll_dir': 'W', 'base': 850, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 2}, 850), ({'trips': [[13, 'E', 2], [1, 'W', 4], [1, 'E', 1], [1, 'W', 3], [1, 'W', 1], [1, 'W', 2], [1, 'E', 3], [13, 'W', 4], [13, 'W', 3], [1, 'W', 1], [2, 'E', 1], [13, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 1, 'discount_pct': 40, 'carpool_min': 2}, 1450), ({'trips': [[2, 'E', 1], [2, 'E', 1], [2, 'E', 1], [1, 'W', 1], [13, 'W', 3], [13, 'E', 3], [13, 'W', 2], [2, 'W', 2]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 25, 'carpool_min': 3}, 1500), ({'trips': [[2, 'W', 1], [1, 'E', 1], [2, 'E', 1], [2, 'W', 2], [13, 'W', 3], [13, 'E', 4], [13, 'W', 1], [13, 'W', 2], [13, 'E', 4]], 'toll_dir': 'W', 'base': 850, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 2}, 1700), ({'trips': [[1, 'E', 3], [13, 'E', 3], [13, 'W', 1], [13, 'W', 1], [2, 'E', 1], [1, 'E', 2], [1, 'W', 1], [2, 'W', 2], [13, 'E', 1], [2, 'E', 2], [13, 'E', 1], [2, 'W', 2], [1, 'W', 1], [1, 'W', 1], [13, 'E', 1], [1, 'E', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 1, 'discount_pct': 40, 'carpool_min': 3}, 3915), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[2, 'W', 4], [13, 'W', 1], [1, 'E', 3], [1, 'E', 1], [1, 'E', 4], [2, 'W', 1], [13, 'E', 3], [1, 'E', 2], [13, 'E', 4], [2, 'E', 3], [1, 'E', 3], [1, 'W', 1], [2, 'E', 1], [1, 'W', 3]], 'toll_dir': 'E', 'base': 850, 'threshold': 4, 'discount_pct': 25, 'carpool_min': 2}, 1700)]]
for i, (args, expected) in enumerate(fixtures[N-1]):
    check('fee oracle' + ' %d' % i, 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 fixtureActualExpectedOutcome
fee oracle 026602660Passed
fee oracle 1725725Passed
fee oracle 230003000Passed
fee oracle 324002400Passed
fee oracle 417001700Passed
fee oracle 5600600Passed
fee oracle 624002400Passed
fee oracle 729002900Passed

SHA-256 / 833cbc998f11a4e7e11acefcd2513f0a3eea03f47d14ef069a60feb5f34220e5

Verification & scope

A deterministic, bounded toy model with a stipulated contract; it makes no claim of conformance to any agency manual or standard. 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:48:04.141863+00:00.

Case digest / 7211676061e297d8e6261a7a3a2e2a5fe6265e75e086ed7f8465f2993627d019