World Robot Contest2025-2026Algorithm Application ThemeJunior Highwrc.hao.work
WRC
Contest Archive / Structured Dossiers青少年算法应用训练档案馆

把训练题、知识点、执行证据和最终解题档案统一归档成可直接浏览的竞赛资料库。

Archive30 Cases

四大文化赛道完整展开

AccessHTTPS

完整题面 / 题解 / 运行证据

No Rounded CornersTailwind FirstDossier Ready
02-solution/src/python/main.py

main.py

站内文件视图直接读取仓库内容,Markdown 使用文档排版渲染,其余文本文件保持原始排版,方便校对训练证据链。

文件类型.py

10-cases/s3-jh-06-market-calendar/02-solution/src/python/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")