{"abstract":"The big-th largest exam can be scheduled last without penalty.","category":"Exam timetabling constraints","checks":8,"contract":"sizes exam -> candidates, period exam -> period index, n_periods, big = how many largest exams are front-loaded (ranked by size descending, ties by id), last = how many final periods to avoid. Return the sorted front-loaded exams scheduled in the final last periods and their count.","evaluation_group":"w2-exam-timetabling-constraints-front-load-large-exams","failed_approach":"Selecting by a size threshold includes every exam tied at the boundary.","family":"w2-exam-timetabling-constraints-front-load-large-exams-tie-inclusive-selection","id":"FA-94561","implementations":{"attempt":{"sha256":"8a654720a1e8520f4e0cc6feac7004d695a80100f45a37617060ef191e7cbd7d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(sizes, period, n_periods, big, last):\n    ranked = [e for e in sizes if sizes[e] >= sorted(sizes.values())[-big]]\n    bad = sorted(e for e in ranked if period[e] >= n_periods - last)\n    return [bad, len(bad)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: tie inclusive selection 1', [{'A': 100, 'B': 50}, {'A': 8, 'B': 9}, 10, 1, 2], [['A'], 1]),\n  ('regression variant: tie inclusive selection 2',\n   [{'MATH101': 50, 'MATH101H': 80, 'PHYS110': 20}, {'MATH101': 7, 'MATH101H': 3, 'PHYS110': 2}, 8, 2, 3],\n   [['MATH101'], 1]),\n  ('partial repair guard 3',\n   [{'MATH101': 50, 'MATH101H': 200, 'PHYS110': 50, 'CHEM120': 20, 'BIO130': 80},\n    {'MATH101': 7, 'MATH101H': 3, 'PHYS110': 9, 'CHEM120': 7, 'BIO130': 3}, 10, 3, 2],\n   [[], 0]),\n  ('boundary control 4', [{'A': 80, 'B': 80, 'C': 20}, {'A': 9, 'B': 9, 'C': 9}, 10, 2, 2], [['A', 'B'], 2]),\n  ('normal control 5',\n   [{'MATH101': 50, 'MATH101H': 80, 'PHYS110': 80, 'CHEM120': 80},\n    {'MATH101': 0, 'MATH101H': 4, 'PHYS110': 6, 'CHEM120': 5}, 10, 1, 2],\n   [[], 0]),\n  ('normal control 6',\n   [{'MATH101': 80,\n     'MATH101H': 200,\n     'PHYS110': 80,\n     'CHEM120': 200,\n     'BIO130': 80,\n     'HIST140': 200,\n     'ECON150': 200},\n    {'MATH101': 4, 'MATH101H': 5, 'PHYS110': 4, 'CHEM120': 5, 'BIO130': 3, 'HIST140': 4, 'ECON150': 2}, 8, 3,\n    2],\n   [[], 0]),\n  ('normal control 7',\n   [{'MATH101': 80, 'MATH101H': 200, 'PHYS110': 120, 'CHEM120': 200, 'BIO130': 120, 'HIST140': 20},\n    {'MATH101': 2, 'MATH101H': 4, 'PHYS110': 3, 'CHEM120': 5, 'BIO130': 1, 'HIST140': 1}, 6, 2, 2],\n   [['CHEM120', 'MATH101H'], 2]),\n  ('normal control 8',\n   [{'MATH101': 20, 'MATH101H': 120, 'PHYS110': 80, 'CHEM120': 20},\n    {'MATH101': 5, 'MATH101H': 2, 'PHYS110': 5, 'CHEM120': 4}, 10, 3, 2],\n   [[], 0])],\n [('regression: tie inclusive selection 1', [{'A': 80, 'B': 80, 'C': 20}, {'A': 9, 'B': 9, 'C': 9}, 10, 2, 2],\n   [['A', 'B'], 2]),\n  ('regression variant: tie inclusive selection 2',\n   [{'MATH101': 80, 'MATH101H': 120, 'PHYS110': 200}, {'MATH101': 5, 'MATH101H': 7, 'PHYS110': 7}, 8, 3, 3],\n   [['MATH101', 'MATH101H', 'PHYS110'], 3]),\n  ('partial repair guard 3',\n   [{'MATH101': 120, 'MATH101H': 80, 'PHYS110': 20, 'CHEM120': 120, 'BIO130': 80},\n    {'MATH101': 2, 'MATH101H': 4, 'PHYS110': 5, 'CHEM120': 0, 'BIO130': 0}, 6, 3, 3],\n   [[], 0]),\n  ('boundary control 4', [{'A': 80, 'B': 80, 'C': 20}, {'A': 1, 'B': 9, 'C': 9}, 10, 1, 2], [[], 0]),\n  ('normal control 5',\n   [{'MATH101': 20, 'MATH101H': 80, 'PHYS110': 120, 'CHEM120': 20},\n    {'MATH101': 9, 'MATH101H': 7, 'PHYS110': 5, 'CHEM120': 3}, 10, 2, 2],\n   [[], 0]),\n  ('normal control 6',\n   [{'MATH101': 80, 'MATH101H': 200, 'PHYS110': 80, 'CHEM120': 80, 'BIO130': 20},\n    {'MATH101': 3, 'MATH101H': 3, 'PHYS110': 3, 'CHEM120': 2, 'BIO130': 2}, 8, 3, 3],\n   [[], 0]),\n  ('normal control 7',\n   [{'MATH101': 200, 'MATH101H': 80, 'PHYS110': 50, 'CHEM120': 120, 'BIO130': 20, 'HIST140': 120},\n    {'MATH101': 3, 'MATH101H': 2, 'PHYS110': 2, 'CHEM120': 0, 'BIO130': 4, 'HIST140': 5}, 6, 1, 2],\n   [[], 0]),\n  ('normal control 8',\n   [{'MATH101': 20, 'MATH101H': 20, 'PHYS110': 200, 'CHEM120': 50, 'BIO130': 50, 'HIST140': 80},\n    {'MATH101': 5, 'MATH101H': 4, 'PHYS110': 4, 'CHEM120': 2, 'BIO130': 2, 'HIST140': 4}, 6, 2, 3],\n   [['HIST140', 'PHYS110'], 2])],\n [('regression: tie inclusive selection 1',\n   [{'MATH101': 20, 'MATH101H': 80, 'PHYS110': 80}, {'MATH101': 7, 'MATH101H': 5, 'PHYS110': 3}, 8, 1, 3],\n   [['MATH101H'], 1]),\n  ('regression variant: tie inclusive selection 2',\n   [{'MATH101': 20, 'MATH101H': 80, 'PHYS110': 120}, {'MATH101': 5, 'MATH101H': 5, 'PHYS110': 0}, 6, 3, 2],\n   [['MATH101', 'MATH101H'], 2]),\n  ('partial repair guard 3',\n   [{'MATH101': 80, 'MATH101H': 80, 'PHYS110': 80, 'CHEM120': 80},\n    {'MATH101': 3, 'MATH101H': 0, 'PHYS110': 0, 'CHEM120': 0}, 6, 1, 3],\n   [[], 0]),\n  ('boundary control 4', [{'A': 100, 'B': 50}, {'A': 7, 'B': 9}, 10, 1, 2], [[], 0]),\n  ('boundary control 5', [{'A': 80, 'B': 80, 'C': 20}, {'A': 1, 'B': 9, 'C': 9}, 10, 1, 2], [[], 0]),\n  ('normal control 6',\n   [{'MATH101': 80, 'MATH101H': 20, 'PHYS110': 80, 'CHEM120': 80, 'BIO130': 80, 'HIST140': 80},\n    {'MATH101': 5, 'MATH101H': 6, 'PHYS110': 6, 'CHEM120': 7, 'BIO130': 0, 'HIST140': 0}, 8, 3, 3],\n   [['CHEM120'], 1]),\n  ('normal control 7',\n   [{'MATH101': 80, 'MATH101H': 120, 'PHYS110': 80}, {'MATH101': 5, 'MATH101H': 1, 'PHYS110': 4}, 6, 2, 3],\n   [['MATH101'], 1]),\n  ('normal control 8',\n   [{'MATH101': 80,\n     'MATH101H': 50,\n     'PHYS110': 50,\n     'CHEM120': 80,\n     'BIO130': 20,\n     'HIST140': 200,\n     'ECON150': 80},\n    {'MATH101': 5, 'MATH101H': 2, 'PHYS110': 3, 'CHEM120': 4, 'BIO130': 4, 'HIST140': 4, 'ECON150': 1}, 6, 1,\n    2],\n   [['HIST140'], 1])],\n [('regression: tie inclusive selection 1',\n   [{'MATH101': 20, 'MATH101H': 50, 'PHYS110': 120, 'CHEM120': 200, 'BIO130': 50, 'HIST140': 120},\n    {'MATH101': 5, 'MATH101H': 2, 'PHYS110': 5, 'CHEM120': 4, 'BIO130': 5, 'HIST140': 3}, 6, 2, 3],\n   [['CHEM120', 'HIST140'], 2]),\n  ('regression variant: tie inclusive selection 2',\n   [{'MATH101': 120, 'MATH101H': 80, 'PHYS110': 50}, {'MATH101': 5, 'MATH101H': 1, 'PHYS110': 7}, 8, 3, 3],\n   [['MATH101', 'PHYS110'], 2]),\n  ('partial repair guard 3',\n   [{'MATH101': 80, 'MATH101H': 80, 'PHYS110': 80, 'CHEM120': 80, 'BIO130': 80, 'HIST140': 200},\n    {'MATH101': 4, 'MATH101H': 3, 'PHYS110': 3, 'CHEM120': 3, 'BIO130': 0, 'HIST140': 2}, 6, 3, 3],\n   [['CHEM120'], 1]),\n  ('boundary control 4', [{'A': 100, 'B': 50}, {'A': 8, 'B': 9}, 10, 1, 2], [['A'], 1]),\n  ('boundary control 5', [{'A': 100, 'B': 50}, {'A': 7, 'B': 9}, 10, 1, 2], [[], 0]),\n  ('normal control 6',\n   [{'MATH101': 80, 'MATH101H': 20, 'PHYS110': 120}, {'MATH101': 0, 'MATH101H': 3, 'PHYS110': 2}, 6, 1, 3],\n   [[], 0]),\n  ('normal control 7',\n   [{'MATH101': 50, 'MATH101H': 80, 'PHYS110': 50, 'CHEM120': 80},\n    {'MATH101': 5, 'MATH101H': 4, 'PHYS110': 1, 'CHEM120': 4}, 6, 3, 3],\n   [['CHEM120', 'MATH101', 'MATH101H'], 3]),\n  ('normal control 8',\n   [{'MATH101': 20, 'MATH101H': 80, 'PHYS110': 120}, {'MATH101': 5, 'MATH101H': 5, 'PHYS110': 0}, 6, 3, 2],\n   [['MATH101', 'MATH101H'], 2])],\n [('regression: tie inclusive selection 1',\n   [{'MATH101': 120, 'MATH101H': 20, 'PHYS110': 120, 'CHEM120': 120},\n    {'MATH101': 5, 'MATH101H': 2, 'PHYS110': 9, 'CHEM120': 2}, 10, 3, 2],\n   [['PHYS110'], 1]),\n  ('regression variant: tie inclusive selection 2',\n   [{'MATH101': 50, 'MATH101H': 50, 'PHYS110': 80}, {'MATH101': 4, 'MATH101H': 0, 'PHYS110': 0}, 6, 2, 3],\n   [['MATH101'], 1]),\n  ('partial repair guard 3',\n   [{'MATH101': 200,\n     'MATH101H': 200,\n     'PHYS110': 50,\n     'CHEM120': 50,\n     'BIO130': 80,\n     'HIST140': 120,\n     'ECON150': 120},\n    {'MATH101': 5, 'MATH101H': 5, 'PHYS110': 0, 'CHEM120': 2, 'BIO130': 2, 'HIST140': 3, 'ECON150': 3}, 6, 1,\n    2],\n   [['MATH101'], 1]),\n  ('boundary control 4', [{'A': 80, 'B': 80, 'C': 20}, {'A': 9, 'B': 9, 'C': 9}, 10, 2, 2], [['A', 'B'], 2]),\n  ('boundary control 5', [{'A': 100, 'B': 50}, {'A': 8, 'B': 9}, 10, 1, 2], [['A'], 1]),\n  ('normal control 6',\n   [{'MATH101': 20, 'MATH101H': 80, 'PHYS110': 120, 'CHEM120': 80},\n    {'MATH101': 4, 'MATH101H': 5, 'PHYS110': 0, 'CHEM120': 1}, 6, 3, 3],\n   [['MATH101H'], 1]),\n  ('normal control 7',\n   [{'MATH101': 80, 'MATH101H': 80, 'PHYS110': 120, 'CHEM120': 50},\n    {'MATH101': 3, 'MATH101H': 3, 'PHYS110': 3, 'CHEM120': 4}, 6, 3, 2],\n   [[], 0]),\n  ('normal control 8',\n   [{'MATH101': 20, 'MATH101H': 50, 'PHYS110': 20, 'CHEM120': 20, 'BIO130': 50, 'HIST140': 120},\n    {'MATH101': 7, 'MATH101H': 1, 'PHYS110': 4, 'CHEM120': 9, 'BIO130': 2, 'HIST140': 8}, 10, 1, 3],\n   [['HIST140'], 1])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"fd75c05624a58da3f84247f29104f2aec14dfc811cd3023af883c376a399355f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(sizes, period, n_periods, big, last):\n    ranked = sorted(sizes, key=lambda e: (-sizes[e], e))[:big - 1]\n    bad = sorted(e for e in ranked if period[e] >= n_periods - last)\n    return [bad, len(bad)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: tie inclusive selection 1', [{'A': 100, 'B': 50}, {'A': 8, 'B': 9}, 10, 1, 2], [['A'], 1]),\n  ('regression variant: tie inclusive selection 2',\n   [{'MATH101': 50, 'MATH101H': 80, 'PHYS110': 20}, {'MATH101': 7, 'MATH101H': 3, 'PHYS110': 2}, 8, 2, 3],\n   [['MATH101'], 1]),\n  ('partial repair guard 3',\n   [{'MATH101': 50, 'MATH101H': 200, 'PHYS110': 50, 'CHEM120': 20, 'BIO130': 80},\n    {'MATH101': 7, 'MATH101H': 3, 'PHYS110': 9, 'CHEM120': 7, 'BIO130': 3}, 10, 3, 2],\n   [[], 0]),\n  ('boundary control 4', [{'A': 80, 'B': 80, 'C': 20}, {'A': 9, 'B': 9, 'C': 9}, 10, 2, 2], [['A', 'B'], 2]),\n  ('normal control 5',\n   [{'MATH101': 50, 'MATH101H': 80, 'PHYS110': 80, 'CHEM120': 80},\n    {'MATH101': 0, 'MATH101H': 4, 'PHYS110': 6, 'CHEM120': 5}, 10, 1, 2],\n   [[], 0]),\n  ('normal control 6',\n   [{'MATH101': 80,\n     'MATH101H': 200,\n     'PHYS110': 80,\n     'CHEM120': 200,\n     'BIO130': 80,\n     'HIST140': 200,\n     'ECON150': 200},\n    {'MATH101': 4, 'MATH101H': 5, 'PHYS110': 4, 'CHEM120': 5, 'BIO130': 3, 'HIST140': 4, 'ECON150': 2}, 8, 3,\n    2],\n   [[], 0]),\n  ('normal control 7',\n   [{'MATH101': 80, 'MATH101H': 200, 'PHYS110': 120, 'CHEM120': 200, 'BIO130': 120, 'HIST140': 20},\n    {'MATH101': 2, 'MATH101H': 4, 'PHYS110': 3, 'CHEM120': 5, 'BIO130': 1, 'HIST140': 1}, 6, 2, 2],\n   [['CHEM120', 'MATH101H'], 2]),\n  ('normal control 8',\n   [{'MATH101': 20, 'MATH101H': 120, 'PHYS110': 80, 'CHEM120': 20},\n    {'MATH101': 5, 'MATH101H': 2, 'PHYS110': 5, 'CHEM120': 4}, 10, 3, 2],\n   [[], 0])],\n [('regression: tie inclusive selection 1', [{'A': 80, 'B': 80, 'C': 20}, {'A': 9, 'B': 9, 'C': 9}, 10, 2, 2],\n   [['A', 'B'], 2]),\n  ('regression variant: tie inclusive selection 2',\n   [{'MATH101': 80, 'MATH101H': 120, 'PHYS110': 200}, {'MATH101': 5, 'MATH101H': 7, 'PHYS110': 7}, 8, 3, 3],\n   [['MATH101', 'MATH101H', 'PHYS110'], 3]),\n  ('partial repair guard 3',\n   [{'MATH101': 120, 'MATH101H': 80, 'PHYS110': 20, 'CHEM120': 120, 'BIO130': 80},\n    {'MATH101': 2, 'MATH101H': 4, 'PHYS110': 5, 'CHEM120': 0, 'BIO130': 0}, 6, 3, 3],\n   [[], 0]),\n  ('boundary control 4', [{'A': 80, 'B': 80, 'C': 20}, {'A': 1, 'B': 9, 'C': 9}, 10, 1, 2], [[], 0]),\n  ('normal control 5',\n   [{'MATH101': 20, 'MATH101H': 80, 'PHYS110': 120, 'CHEM120': 20},\n    {'MATH101': 9, 'MATH101H': 7, 'PHYS110': 5, 'CHEM120': 3}, 10, 2, 2],\n   [[], 0]),\n  ('normal control 6',\n   [{'MATH101': 80, 'MATH101H': 200, 'PHYS110': 80, 'CHEM120': 80, 'BIO130': 20},\n    {'MATH101': 3, 'MATH101H': 3, 'PHYS110': 3, 'CHEM120': 2, 'BIO130': 2}, 8, 3, 3],\n   [[], 0]),\n  ('normal control 7',\n   [{'MATH101': 200, 'MATH101H': 80, 'PHYS110': 50, 'CHEM120': 120, 'BIO130': 20, 'HIST140': 120},\n    {'MATH101': 3, 'MATH101H': 2, 'PHYS110': 2, 'CHEM120': 0, 'BIO130': 4, 'HIST140': 5}, 6, 1, 2],\n   [[], 0]),\n  ('normal control 8',\n   [{'MATH101': 20, 'MATH101H': 20, 'PHYS110': 200, 'CHEM120': 50, 'BIO130': 50, 'HIST140': 80},\n    {'MATH101': 5, 'MATH101H': 4, 'PHYS110': 4, 'CHEM120': 2, 'BIO130': 2, 'HIST140': 4}, 6, 2, 3],\n   [['HIST140', 'PHYS110'], 2])],\n [('regression: tie inclusive selection 1',\n   [{'MATH101': 20, 'MATH101H': 80, 'PHYS110': 80}, {'MATH101': 7, 'MATH101H': 5, 'PHYS110': 3}, 8, 1, 3],\n   [['MATH101H'], 1]),\n  ('regression variant: tie inclusive selection 2',\n   [{'MATH101': 20, 'MATH101H': 80, 'PHYS110': 120}, {'MATH101': 5, 'MATH101H': 5, 'PHYS110': 0}, 6, 3, 2],\n   [['MATH101', 'MATH101H'], 2]),\n  ('partial repair guard 3',\n   [{'MATH101': 80, 'MATH101H': 80, 'PHYS110': 80, 'CHEM120': 80},\n    {'MATH101': 3, 'MATH101H': 0, 'PHYS110': 0, 'CHEM120': 0}, 6, 1, 3],\n   [[], 0]),\n  ('boundary control 4', [{'A': 100, 'B': 50}, {'A': 7, 'B': 9}, 10, 1, 2], [[], 0]),\n  ('boundary control 5', [{'A': 80, 'B': 80, 'C': 20}, {'A': 1, 'B': 9, 'C': 9}, 10, 1, 2], [[], 0]),\n  ('normal control 6',\n   [{'MATH101': 80, 'MATH101H': 20, 'PHYS110': 80, 'CHEM120': 80, 'BIO130': 80, 'HIST140': 80},\n    {'MATH101': 5, 'MATH101H': 6, 'PHYS110': 6, 'CHEM120': 7, 'BIO130': 0, 'HIST140': 0}, 8, 3, 3],\n   [['CHEM120'], 1]),\n  ('normal control 7',\n   [{'MATH101': 80, 'MATH101H': 120, 'PHYS110': 80}, {'MATH101': 5, 'MATH101H': 1, 'PHYS110': 4}, 6, 2, 3],\n   [['MATH101'], 1]),\n  ('normal control 8',\n   [{'MATH101': 80,\n     'MATH101H': 50,\n     'PHYS110': 50,\n     'CHEM120': 80,\n     'BIO130': 20,\n     'HIST140': 200,\n     'ECON150': 80},\n    {'MATH101': 5, 'MATH101H': 2, 'PHYS110': 3, 'CHEM120': 4, 'BIO130': 4, 'HIST140': 4, 'ECON150': 1}, 6, 1,\n    2],\n   [['HIST140'], 1])],\n [('regression: tie inclusive selection 1',\n   [{'MATH101': 20, 'MATH101H': 50, 'PHYS110': 120, 'CHEM120': 200, 'BIO130': 50, 'HIST140': 120},\n    {'MATH101': 5, 'MATH101H': 2, 'PHYS110': 5, 'CHEM120': 4, 'BIO130': 5, 'HIST140': 3}, 6, 2, 3],\n   [['CHEM120', 'HIST140'], 2]),\n  ('regression variant: tie inclusive selection 2',\n   [{'MATH101': 120, 'MATH101H': 80, 'PHYS110': 50}, {'MATH101': 5, 'MATH101H': 1, 'PHYS110': 7}, 8, 3, 3],\n   [['MATH101', 'PHYS110'], 2]),\n  ('partial repair guard 3',\n   [{'MATH101': 80, 'MATH101H': 80, 'PHYS110': 80, 'CHEM120': 80, 'BIO130': 80, 'HIST140': 200},\n    {'MATH101': 4, 'MATH101H': 3, 'PHYS110': 3, 'CHEM120': 3, 'BIO130': 0, 'HIST140': 2}, 6, 3, 3],\n   [['CHEM120'], 1]),\n  ('boundary control 4', [{'A': 100, 'B': 50}, {'A': 8, 'B': 9}, 10, 1, 2], [['A'], 1]),\n  ('boundary control 5', [{'A': 100, 'B': 50}, {'A': 7, 'B': 9}, 10, 1, 2], [[], 0]),\n  ('normal control 6',\n   [{'MATH101': 80, 'MATH101H': 20, 'PHYS110': 120}, {'MATH101': 0, 'MATH101H': 3, 'PHYS110': 2}, 6, 1, 3],\n   [[], 0]),\n  ('normal control 7',\n   [{'MATH101': 50, 'MATH101H': 80, 'PHYS110': 50, 'CHEM120': 80},\n    {'MATH101': 5, 'MATH101H': 4, 'PHYS110': 1, 'CHEM120': 4}, 6, 3, 3],\n   [['CHEM120', 'MATH101', 'MATH101H'], 3]),\n  ('normal control 8',\n   [{'MATH101': 20, 'MATH101H': 80, 'PHYS110': 120}, {'MATH101': 5, 'MATH101H': 5, 'PHYS110': 0}, 6, 3, 2],\n   [['MATH101', 'MATH101H'], 2])],\n [('regression: tie inclusive selection 1',\n   [{'MATH101': 120, 'MATH101H': 20, 'PHYS110': 120, 'CHEM120': 120},\n    {'MATH101': 5, 'MATH101H': 2, 'PHYS110': 9, 'CHEM120': 2}, 10, 3, 2],\n   [['PHYS110'], 1]),\n  ('regression variant: tie inclusive selection 2',\n   [{'MATH101': 50, 'MATH101H': 50, 'PHYS110': 80}, {'MATH101': 4, 'MATH101H': 0, 'PHYS110': 0}, 6, 2, 3],\n   [['MATH101'], 1]),\n  ('partial repair guard 3',\n   [{'MATH101': 200,\n     'MATH101H': 200,\n     'PHYS110': 50,\n     'CHEM120': 50,\n     'BIO130': 80,\n     'HIST140': 120,\n     'ECON150': 120},\n    {'MATH101': 5, 'MATH101H': 5, 'PHYS110': 0, 'CHEM120': 2, 'BIO130': 2, 'HIST140': 3, 'ECON150': 3}, 6, 1,\n    2],\n   [['MATH101'], 1]),\n  ('boundary control 4', [{'A': 80, 'B': 80, 'C': 20}, {'A': 9, 'B': 9, 'C': 9}, 10, 2, 2], [['A', 'B'], 2]),\n  ('boundary control 5', [{'A': 100, 'B': 50}, {'A': 8, 'B': 9}, 10, 1, 2], [['A'], 1]),\n  ('normal control 6',\n   [{'MATH101': 20, 'MATH101H': 80, 'PHYS110': 120, 'CHEM120': 80},\n    {'MATH101': 4, 'MATH101H': 5, 'PHYS110': 0, 'CHEM120': 1}, 6, 3, 3],\n   [['MATH101H'], 1]),\n  ('normal control 7',\n   [{'MATH101': 80, 'MATH101H': 80, 'PHYS110': 120, 'CHEM120': 50},\n    {'MATH101': 3, 'MATH101H': 3, 'PHYS110': 3, 'CHEM120': 4}, 6, 3, 2],\n   [[], 0]),\n  ('normal control 8',\n   [{'MATH101': 20, 'MATH101H': 50, 'PHYS110': 20, 'CHEM120': 20, 'BIO130': 50, 'HIST140': 120},\n    {'MATH101': 7, 'MATH101H': 1, 'PHYS110': 4, 'CHEM120': 9, 'BIO130': 2, 'HIST140': 8}, 10, 1, 3],\n   [['HIST140'], 1])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"b11f969fa7668fd643b90b18addb2661c0a9148da0bd600ff786c7e4802fe1c0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(sizes, period, n_periods, big, last):\n    ranked = sorted(sizes, key=lambda e: (-sizes[e], e))[:big]\n    bad = sorted(e for e in ranked if period[e] >= n_periods - last)\n    return [bad, len(bad)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: tie inclusive selection 1', [{'A': 100, 'B': 50}, {'A': 8, 'B': 9}, 10, 1, 2], [['A'], 1]),\n  ('regression variant: tie inclusive selection 2',\n   [{'MATH101': 50, 'MATH101H': 80, 'PHYS110': 20}, {'MATH101': 7, 'MATH101H': 3, 'PHYS110': 2}, 8, 2, 3],\n   [['MATH101'], 1]),\n  ('partial repair guard 3',\n   [{'MATH101': 50, 'MATH101H': 200, 'PHYS110': 50, 'CHEM120': 20, 'BIO130': 80},\n    {'MATH101': 7, 'MATH101H': 3, 'PHYS110': 9, 'CHEM120': 7, 'BIO130': 3}, 10, 3, 2],\n   [[], 0]),\n  ('boundary control 4', [{'A': 80, 'B': 80, 'C': 20}, {'A': 9, 'B': 9, 'C': 9}, 10, 2, 2], [['A', 'B'], 2]),\n  ('normal control 5',\n   [{'MATH101': 50, 'MATH101H': 80, 'PHYS110': 80, 'CHEM120': 80},\n    {'MATH101': 0, 'MATH101H': 4, 'PHYS110': 6, 'CHEM120': 5}, 10, 1, 2],\n   [[], 0]),\n  ('normal control 6',\n   [{'MATH101': 80,\n     'MATH101H': 200,\n     'PHYS110': 80,\n     'CHEM120': 200,\n     'BIO130': 80,\n     'HIST140': 200,\n     'ECON150': 200},\n    {'MATH101': 4, 'MATH101H': 5, 'PHYS110': 4, 'CHEM120': 5, 'BIO130': 3, 'HIST140': 4, 'ECON150': 2}, 8, 3,\n    2],\n   [[], 0]),\n  ('normal control 7',\n   [{'MATH101': 80, 'MATH101H': 200, 'PHYS110': 120, 'CHEM120': 200, 'BIO130': 120, 'HIST140': 20},\n    {'MATH101': 2, 'MATH101H': 4, 'PHYS110': 3, 'CHEM120': 5, 'BIO130': 1, 'HIST140': 1}, 6, 2, 2],\n   [['CHEM120', 'MATH101H'], 2]),\n  ('normal control 8',\n   [{'MATH101': 20, 'MATH101H': 120, 'PHYS110': 80, 'CHEM120': 20},\n    {'MATH101': 5, 'MATH101H': 2, 'PHYS110': 5, 'CHEM120': 4}, 10, 3, 2],\n   [[], 0])],\n [('regression: tie inclusive selection 1', [{'A': 80, 'B': 80, 'C': 20}, {'A': 9, 'B': 9, 'C': 9}, 10, 2, 2],\n   [['A', 'B'], 2]),\n  ('regression variant: tie inclusive selection 2',\n   [{'MATH101': 80, 'MATH101H': 120, 'PHYS110': 200}, {'MATH101': 5, 'MATH101H': 7, 'PHYS110': 7}, 8, 3, 3],\n   [['MATH101', 'MATH101H', 'PHYS110'], 3]),\n  ('partial repair guard 3',\n   [{'MATH101': 120, 'MATH101H': 80, 'PHYS110': 20, 'CHEM120': 120, 'BIO130': 80},\n    {'MATH101': 2, 'MATH101H': 4, 'PHYS110': 5, 'CHEM120': 0, 'BIO130': 0}, 6, 3, 3],\n   [[], 0]),\n  ('boundary control 4', [{'A': 80, 'B': 80, 'C': 20}, {'A': 1, 'B': 9, 'C': 9}, 10, 1, 2], [[], 0]),\n  ('normal control 5',\n   [{'MATH101': 20, 'MATH101H': 80, 'PHYS110': 120, 'CHEM120': 20},\n    {'MATH101': 9, 'MATH101H': 7, 'PHYS110': 5, 'CHEM120': 3}, 10, 2, 2],\n   [[], 0]),\n  ('normal control 6',\n   [{'MATH101': 80, 'MATH101H': 200, 'PHYS110': 80, 'CHEM120': 80, 'BIO130': 20},\n    {'MATH101': 3, 'MATH101H': 3, 'PHYS110': 3, 'CHEM120': 2, 'BIO130': 2}, 8, 3, 3],\n   [[], 0]),\n  ('normal control 7',\n   [{'MATH101': 200, 'MATH101H': 80, 'PHYS110': 50, 'CHEM120': 120, 'BIO130': 20, 'HIST140': 120},\n    {'MATH101': 3, 'MATH101H': 2, 'PHYS110': 2, 'CHEM120': 0, 'BIO130': 4, 'HIST140': 5}, 6, 1, 2],\n   [[], 0]),\n  ('normal control 8',\n   [{'MATH101': 20, 'MATH101H': 20, 'PHYS110': 200, 'CHEM120': 50, 'BIO130': 50, 'HIST140': 80},\n    {'MATH101': 5, 'MATH101H': 4, 'PHYS110': 4, 'CHEM120': 2, 'BIO130': 2, 'HIST140': 4}, 6, 2, 3],\n   [['HIST140', 'PHYS110'], 2])],\n [('regression: tie inclusive selection 1',\n   [{'MATH101': 20, 'MATH101H': 80, 'PHYS110': 80}, {'MATH101': 7, 'MATH101H': 5, 'PHYS110': 3}, 8, 1, 3],\n   [['MATH101H'], 1]),\n  ('regression variant: tie inclusive selection 2',\n   [{'MATH101': 20, 'MATH101H': 80, 'PHYS110': 120}, {'MATH101': 5, 'MATH101H': 5, 'PHYS110': 0}, 6, 3, 2],\n   [['MATH101', 'MATH101H'], 2]),\n  ('partial repair guard 3',\n   [{'MATH101': 80, 'MATH101H': 80, 'PHYS110': 80, 'CHEM120': 80},\n    {'MATH101': 3, 'MATH101H': 0, 'PHYS110': 0, 'CHEM120': 0}, 6, 1, 3],\n   [[], 0]),\n  ('boundary control 4', [{'A': 100, 'B': 50}, {'A': 7, 'B': 9}, 10, 1, 2], [[], 0]),\n  ('boundary control 5', [{'A': 80, 'B': 80, 'C': 20}, {'A': 1, 'B': 9, 'C': 9}, 10, 1, 2], [[], 0]),\n  ('normal control 6',\n   [{'MATH101': 80, 'MATH101H': 20, 'PHYS110': 80, 'CHEM120': 80, 'BIO130': 80, 'HIST140': 80},\n    {'MATH101': 5, 'MATH101H': 6, 'PHYS110': 6, 'CHEM120': 7, 'BIO130': 0, 'HIST140': 0}, 8, 3, 3],\n   [['CHEM120'], 1]),\n  ('normal control 7',\n   [{'MATH101': 80, 'MATH101H': 120, 'PHYS110': 80}, {'MATH101': 5, 'MATH101H': 1, 'PHYS110': 4}, 6, 2, 3],\n   [['MATH101'], 1]),\n  ('normal control 8',\n   [{'MATH101': 80,\n     'MATH101H': 50,\n     'PHYS110': 50,\n     'CHEM120': 80,\n     'BIO130': 20,\n     'HIST140': 200,\n     'ECON150': 80},\n    {'MATH101': 5, 'MATH101H': 2, 'PHYS110': 3, 'CHEM120': 4, 'BIO130': 4, 'HIST140': 4, 'ECON150': 1}, 6, 1,\n    2],\n   [['HIST140'], 1])],\n [('regression: tie inclusive selection 1',\n   [{'MATH101': 20, 'MATH101H': 50, 'PHYS110': 120, 'CHEM120': 200, 'BIO130': 50, 'HIST140': 120},\n    {'MATH101': 5, 'MATH101H': 2, 'PHYS110': 5, 'CHEM120': 4, 'BIO130': 5, 'HIST140': 3}, 6, 2, 3],\n   [['CHEM120', 'HIST140'], 2]),\n  ('regression variant: tie inclusive selection 2',\n   [{'MATH101': 120, 'MATH101H': 80, 'PHYS110': 50}, {'MATH101': 5, 'MATH101H': 1, 'PHYS110': 7}, 8, 3, 3],\n   [['MATH101', 'PHYS110'], 2]),\n  ('partial repair guard 3',\n   [{'MATH101': 80, 'MATH101H': 80, 'PHYS110': 80, 'CHEM120': 80, 'BIO130': 80, 'HIST140': 200},\n    {'MATH101': 4, 'MATH101H': 3, 'PHYS110': 3, 'CHEM120': 3, 'BIO130': 0, 'HIST140': 2}, 6, 3, 3],\n   [['CHEM120'], 1]),\n  ('boundary control 4', [{'A': 100, 'B': 50}, {'A': 8, 'B': 9}, 10, 1, 2], [['A'], 1]),\n  ('boundary control 5', [{'A': 100, 'B': 50}, {'A': 7, 'B': 9}, 10, 1, 2], [[], 0]),\n  ('normal control 6',\n   [{'MATH101': 80, 'MATH101H': 20, 'PHYS110': 120}, {'MATH101': 0, 'MATH101H': 3, 'PHYS110': 2}, 6, 1, 3],\n   [[], 0]),\n  ('normal control 7',\n   [{'MATH101': 50, 'MATH101H': 80, 'PHYS110': 50, 'CHEM120': 80},\n    {'MATH101': 5, 'MATH101H': 4, 'PHYS110': 1, 'CHEM120': 4}, 6, 3, 3],\n   [['CHEM120', 'MATH101', 'MATH101H'], 3]),\n  ('normal control 8',\n   [{'MATH101': 20, 'MATH101H': 80, 'PHYS110': 120}, {'MATH101': 5, 'MATH101H': 5, 'PHYS110': 0}, 6, 3, 2],\n   [['MATH101', 'MATH101H'], 2])],\n [('regression: tie inclusive selection 1',\n   [{'MATH101': 120, 'MATH101H': 20, 'PHYS110': 120, 'CHEM120': 120},\n    {'MATH101': 5, 'MATH101H': 2, 'PHYS110': 9, 'CHEM120': 2}, 10, 3, 2],\n   [['PHYS110'], 1]),\n  ('regression variant: tie inclusive selection 2',\n   [{'MATH101': 50, 'MATH101H': 50, 'PHYS110': 80}, {'MATH101': 4, 'MATH101H': 0, 'PHYS110': 0}, 6, 2, 3],\n   [['MATH101'], 1]),\n  ('partial repair guard 3',\n   [{'MATH101': 200,\n     'MATH101H': 200,\n     'PHYS110': 50,\n     'CHEM120': 50,\n     'BIO130': 80,\n     'HIST140': 120,\n     'ECON150': 120},\n    {'MATH101': 5, 'MATH101H': 5, 'PHYS110': 0, 'CHEM120': 2, 'BIO130': 2, 'HIST140': 3, 'ECON150': 3}, 6, 1,\n    2],\n   [['MATH101'], 1]),\n  ('boundary control 4', [{'A': 80, 'B': 80, 'C': 20}, {'A': 9, 'B': 9, 'C': 9}, 10, 2, 2], [['A', 'B'], 2]),\n  ('boundary control 5', [{'A': 100, 'B': 50}, {'A': 8, 'B': 9}, 10, 1, 2], [['A'], 1]),\n  ('normal control 6',\n   [{'MATH101': 20, 'MATH101H': 80, 'PHYS110': 120, 'CHEM120': 80},\n    {'MATH101': 4, 'MATH101H': 5, 'PHYS110': 0, 'CHEM120': 1}, 6, 3, 3],\n   [['MATH101H'], 1]),\n  ('normal control 7',\n   [{'MATH101': 80, 'MATH101H': 80, 'PHYS110': 120, 'CHEM120': 50},\n    {'MATH101': 3, 'MATH101H': 3, 'PHYS110': 3, 'CHEM120': 4}, 6, 3, 2],\n   [[], 0]),\n  ('normal control 8',\n   [{'MATH101': 20, 'MATH101H': 50, 'PHYS110': 20, 'CHEM120': 20, 'BIO130': 50, 'HIST140': 120},\n    {'MATH101': 7, 'MATH101H': 1, 'PHYS110': 4, 'CHEM120': 9, 'BIO130': 2, 'HIST140': 8}, 10, 1, 3],\n   [['HIST140'], 1])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Stipulated toy exam-timetabling rule set for a bounded model; it does not claim conformance with any institution's regulations or a benchmark specification, and it performs no search or optimisation. 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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-exam-timetabling-constraints-front-load-large-exams-tie-inclusive-selection","generated_at":"2026-09-29T14:52:05.507823+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Front-loading large exams gives markers time; it is a standard soft constraint.","repair":"Take exactly the first big exams of the ranking.","root_cause":"The ranked slice stops at big - 1.","sha256":"89991f8294092d547f486e7869c2907b968a1c040a2adc17ac4df1b347503f20","title":"Front-load selection takes one exam too few · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.038,"exit_code":1,"observations":[{"actual":[["A"],1],"check":"regression: tie inclusive selection 1","expected":[["A"],1],"passed":true},{"actual":[["MATH101"],1],"check":"regression variant: tie inclusive selection 2","expected":[["MATH101"],1],"passed":true},{"actual":[["PHYS110"],1],"check":"partial repair guard 3","expected":[[],0],"passed":false},{"actual":[["A","B"],2],"check":"boundary control 4","expected":[["A","B"],2],"passed":true},{"actual":[[],0],"check":"normal control 5","expected":[[],0],"passed":true},{"actual":[[],0],"check":"normal control 6","expected":[[],0],"passed":true},{"actual":[["CHEM120","MATH101H"],2],"check":"normal control 7","expected":[["CHEM120","MATH101H"],2],"passed":true},{"actual":[[],0],"check":"normal control 8","expected":[[],0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: tie inclusive selection 1\", \"actual\": [[\"A\"], 1], \"expected\": [[\"A\"], 1], \"passed\": true}, {\"check\": \"regression variant: tie inclusive selection 2\", \"actual\": [[\"MATH101\"], 1], \"expected\": [[\"MATH101\"], 1], \"passed\": true}, {\"check\": \"partial repair guard 3\", \"actual\": [[\"PHYS110\"], 1], \"expected\": [[], 0], \"passed\": false}, {\"check\": \"boundary control 4\", \"actual\": [[\"A\", \"B\"], 2], \"expected\": [[\"A\", \"B\"], 2], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [[], 0], \"expected\": [[], 0], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [[], 0], \"expected\": [[], 0], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [[\"CHEM120\", \"MATH101H\"], 2], \"expected\": [[\"CHEM120\", \"MATH101H\"], 2], \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": [[], 0], \"expected\": [[], 0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.184,"exit_code":1,"observations":[{"actual":[[],0],"check":"regression: tie inclusive selection 1","expected":[["A"],1],"passed":false},{"actual":[[],0],"check":"regression variant: tie inclusive selection 2","expected":[["MATH101"],1],"passed":false},{"actual":[[],0],"check":"partial repair guard 3","expected":[[],0],"passed":true},{"actual":[["A"],1],"check":"boundary control 4","expected":[["A","B"],2],"passed":false},{"actual":[[],0],"check":"normal control 5","expected":[[],0],"passed":true},{"actual":[[],0],"check":"normal control 6","expected":[[],0],"passed":true},{"actual":[["CHEM120"],1],"check":"normal control 7","expected":[["CHEM120","MATH101H"],2],"passed":false},{"actual":[[],0],"check":"normal control 8","expected":[[],0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: tie inclusive selection 1\", \"actual\": [[], 0], \"expected\": [[\"A\"], 1], \"passed\": false}, {\"check\": \"regression variant: tie inclusive selection 2\", \"actual\": [[], 0], \"expected\": [[\"MATH101\"], 1], \"passed\": false}, {\"check\": \"partial repair guard 3\", \"actual\": [[], 0], \"expected\": [[], 0], \"passed\": true}, {\"check\": \"boundary control 4\", \"actual\": [[\"A\"], 1], \"expected\": [[\"A\", \"B\"], 2], \"passed\": false}, {\"check\": \"normal control 5\", \"actual\": [[], 0], \"expected\": [[], 0], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [[], 0], \"expected\": [[], 0], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [[\"CHEM120\"], 1], \"expected\": [[\"CHEM120\", \"MATH101H\"], 2], \"passed\": false}, {\"check\": \"normal control 8\", \"actual\": [[], 0], \"expected\": [[], 0], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.899,"exit_code":0,"observations":[{"actual":[["A"],1],"check":"regression: tie inclusive selection 1","expected":[["A"],1],"passed":true},{"actual":[["MATH101"],1],"check":"regression variant: tie inclusive selection 2","expected":[["MATH101"],1],"passed":true},{"actual":[[],0],"check":"partial repair guard 3","expected":[[],0],"passed":true},{"actual":[["A","B"],2],"check":"boundary control 4","expected":[["A","B"],2],"passed":true},{"actual":[[],0],"check":"normal control 5","expected":[[],0],"passed":true},{"actual":[[],0],"check":"normal control 6","expected":[[],0],"passed":true},{"actual":[["CHEM120","MATH101H"],2],"check":"normal control 7","expected":[["CHEM120","MATH101H"],2],"passed":true},{"actual":[[],0],"check":"normal control 8","expected":[[],0],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: tie inclusive selection 1\", \"actual\": [[\"A\"], 1], \"expected\": [[\"A\"], 1], \"passed\": true}, {\"check\": \"regression variant: tie inclusive selection 2\", \"actual\": [[\"MATH101\"], 1], \"expected\": [[\"MATH101\"], 1], \"passed\": true}, {\"check\": \"partial repair guard 3\", \"actual\": [[], 0], \"expected\": [[], 0], \"passed\": true}, {\"check\": \"boundary control 4\", \"actual\": [[\"A\", \"B\"], 2], \"expected\": [[\"A\", \"B\"], 2], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [[], 0], \"expected\": [[], 0], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [[], 0], \"expected\": [[], 0], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [[\"CHEM120\", \"MATH101H\"], 2], \"expected\": [[\"CHEM120\", \"MATH101H\"], 2], \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": [[], 0], \"expected\": [[], 0], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}