四大文化赛道完整展开
06-deliverables/appendix-code.md
非遗巡展装箱:展品运输箱数量最少化 代码附录
站内文件视图直接读取仓库内容,Markdown 使用文档排版渲染,其余文本文件保持原始排版,方便校对训练证据链。
文件类型Markdown
10-cases/s1-jh-08-heritage-transport-packing/06-deliverables/appendix-code.md
- 完整解题档案:complete-solution-dossier.md
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)
limit = next(it)
weights = sorted(next(it) for _ in range(n))
left = 0
right = n - 1
boxes = 0
single_boxes = 0
max_pair = 0
while left <= right:
boxes += 1
if left == right:
single_boxes += 1
break
if weights[left] + weights[right] <= limit:
pair_weight = weights[left] + weights[right]
if pair_weight > max_pair:
max_pair = pair_weight
left += 1
right -= 1
else:
single_boxes += 1
right -= 1
return "\n".join(
[
f"boxes={boxes}",
f"single_boxes={single_boxes}",
f"max_pair={max_pair}",
]
)
if __name__ == "__main__":
sys.stdout.write(solve(sys.stdin.read()).strip())
sys.stdout.write("\n")