Logo Universal Online Judge

UOJ

时间限制:1 s 空间限制:1024 MB
统计

题目描述

有 $n$ 种饼干,第 $i$ 种饼干有 $a_i$ 块。

你需要尽快吃掉这些饼干,但是你吃饼干时必须满足一个特殊限制: 设你第 $i$ 天吃掉第 $j$ 块饼干的数量为 $b_{i,j}$,则 $\forall i,2 \max\limits_{1 \leq j \leq n} b_{i,j} = \sum\limits_{j=1}^n b_{i,j}$。

构造一个吃完饼干的方案或者报告无解(当你不能吃完这些饼干时)。如果有解,你需要在 $\lceil \frac{n}{2} \rceil$ 天内吃完饼干 以得到满分。

输入格式

第一行一个数 $T$,表示测试数据数。

对于每组测试数据:第一行一个数 $n$,接下来一行 $n$ 个数 $a_{1 \dots n}$。

输出格式

对于每组测试数据:第一行输出 NO 表示无解或 YES 表示有解。如有解,接下来一行 $k$ 表示天数,随后跟 $k$ 行, 第 $i$ 行的第 $j$个 数表示 $b_{i,j}$。

样例

4
3
4 5 7
2
2 1
5
1 3 2 11 5
7
1 999999999 1000000000 1000000000 1000000000 1000000000 1000000000
YES
2
4 1 3
0 4 4
NO
YES
1
1 3 2 11 5
YES
3
1 999999999 1000000000 0 0 0 0
0 0 0 1000000000 1000000000 0 0
0 0 0 0 0 1000000000 1000000000

出于某些原因,本题大样例无构造方案。

数据范围

$1 \leq T \leq 50,2 \leq n \leq 1000,\sum n \leq 1000,1 \leq a_i \leq 10^9$。

本道题共计 20 个测试点,每个点 5 分。

测试点编号 特殊性质
1 $n=3$
2-3 $n \leq 6$
4-5 所有 $a_i$ 相等
6-7 $\forall 1 \leq i \leq n: a_i=i$
8-10 $\sum a_i \leq 8n$(对每一组测试数据)
11-20

对于无解的测试数据,输出无解即可得到 $5$分,否则不得分。

对于有解的测试数据,你需要输出有解,且输出的 $k$ 如果在 $\lceil \frac{n}{2} \rceil$ 内得 $5$ 分,每超出 $1$ 所得分数 $-1$,直至 $0$ 分。

测试点得分为测试点内所有测试数据得分之最小值。