C. 现金能平分吗

Bisecting Bargain

时间限制:2 秒 · 内存限制:1024 MiB

原题:NWERC 2025 B · 查看官方英文原文(英文 PDF 也已作为本题附件提供)

题目描述

两个人计划从自动取款机中一次取出总额为 nn 欧元的现金,然后将这些现金平分。取款机可能给出面额为 11、22、55、1010、2020、5050、100100、200200、500500 欧元的硬币和纸币,每种面额的数量均足够多。

你无法事先知道取款机会给出哪种面额组合。你需要判断:对于总额恰好为 nn 的每一种可能组合,是否都能将其中的硬币和纸币分成金额相同的两组?分配时不能拆分、兑换硬币或纸币。

如果并非所有组合都能平分,请构造一种总额为 nn、却无法平分的面额组合。

输入格式

输入一个整数 nn(1≤n≤100001 \leq n \leq 10000),表示取款总金额,单位为欧元。

输出格式

如果任意面额组合都能平分,输出 splittable。

否则,第一行输出你构造的硬币和纸币总数量 cc(1≤c≤n1 \leq c \leq n),第二行输出 cc 个面额,以空格分隔。这些面额必须来自题目给出的九种面额,合计恰好为 nn,且无法分成金额相等的两组。

可以重复使用相同面额;有多种合法构造时输出任意一种即可。

样例

样例输入 1

42

样例输出 1

4
10 20 10 2

样例输入 2

40

样例输出 2

splittable

样例输入 3

5

样例输出 3

1
5

样例输入 4

52

样例输出 4

2
2 50

原题版权归原作者及相应赛事评委会所有,采用 CC BY-SA 4.0 许可。中文译文为本练习赛整理,按相同许可发布。题号及中文标题作了调整,输入约束、样例和判题要求依照官方原题;图示及完整英文叙述请参阅英文原文附件。