四大文化赛道完整展开
03-execution/run-001/source-snapshot/main.py
main.py
站内文件视图直接读取仓库内容,Markdown 使用文档排版渲染,其余文本文件保持原始排版,方便校对训练证据链。
文件类型.py
10-cases/s4-jh-04-resource-allocation/03-execution/run-001/source-snapshot/main.py
import sys
def solve(data: str) -> str:
tokens = data.split()
if not tokens:
return ""
it = iter(tokens)
food = int(next(it))
med = int(next(it))
tools = int(next(it))
n = int(next(it))
teams = []
for order in range(n):
name = next(it)
priority = int(next(it))
need_food = int(next(it))
need_med = int(next(it))
need_tools = int(next(it))
teams.append(( -priority, order, name, need_food, need_med, need_tools))
teams.sort()
selected = []
for _, _, name, need_food, need_med, need_tools in teams:
if need_food <= food and need_med <= med and need_tools <= tools:
food -= need_food
med -= need_med
tools -= need_tools
selected.append(name)
team_line = ",".join(selected) if selected else "NONE"
return "\n".join(
[
f"selected={len(selected)}",
f"teams={team_line}",
f"remaining={food} {med} {tools}",
f"unserved={n - len(selected)}",
]
)
if __name__ == "__main__":
sys.stdout.write(solve(sys.stdin.read()).strip())
sys.stdout.write("\n")