"""本主题专属离线算法，仅读取同目录合成JSON，不联网、不控制设备。"""
import csv, json, math, re, struct
from pathlib import Path
from fractions import Fraction
BASE=Path(__file__).resolve().parent
data=json.loads((BASE/'input.json').read_text(encoding='utf-8'))['data']
rows=[]
for case in data['cases']:
 valid=all(0<=s['priority']<=200 for s in case['sources'])
 if not valid:rows.append({'case':case['name'],'valid':False,'reason':'priority越界'});continue
 maximum=max(s['priority'] for s in case['sources']);candidates=[s['cid'] for s in case['sources'] if s['priority']==maximum]
 rows.append({'case':case['name'],'valid':True,'maximum_priority':maximum,'candidate_cids':candidates,'merged_slot_values':None,'merge_policy_required':len(candidates)>1})
assert rows[0]['candidate_cids']==['C'] and rows[1]['merge_policy_required'] and not rows[2]['valid']
result={'cases':rows,'source_lifetime_assumption':'输入源均假定仍有效，未模拟超时'}
(BASE/'result.json').write_text(json.dumps(result,ensure_ascii=False,indent=2)+'\n',encoding='utf-8')
print(json.dumps(result,ensure_ascii=False))
