四大文化赛道完整展开
03-execution/run-001/source-snapshot/main.py
main.py
站内文件视图直接读取仓库内容,Markdown 使用文档排版渲染,其余文本文件保持原始排版,方便校对训练证据链。
文件类型.py
10-cases/s3-jh-06-market-calendar/03-execution/run-001/source-snapshot/main.py
import sys
def solve(data: str) -> str:
tokens = list(map(int, data.split()))
if not tokens:
return ""
it = iter(tokens)
n = next(it)
days_total = next(it)
diff = [0] * (days_total + 3)
for _ in range(n):
left = next(it)
right = next(it)
diff[left] += 1
diff[right + 1] -= 1
active = 0
max_open = -1
first_peak = 0
merged = []
start = None
for day in range(1, days_total + 1):
active += diff[day]
if active > max_open:
max_open = active
first_peak = day
if active > 0 and start is None:
start = day
if active == 0 and start is not None:
merged.append((start, day - 1))
start = None
if start is not None:
merged.append((start, days_total))
merged_text = "|".join(f"{left}-{right}" for left, right in merged) if merged else "NONE"
return "\n".join(
[
f"max_open={max_open}",
f"first_peak_day={first_peak}",
f"merged={merged_text}",
]
)
if __name__ == "__main__":
sys.stdout.write(solve(sys.stdin.read()).strip())
sys.stdout.write("\n")