问题 5643 --DDL是第一生产力

5643: DDL是第一生产力

时间限制: 4 Sec  内存限制: 256 MB
提交: 7  解决: 3
[提交][状态][命题人:]

题目描述

给定长度为 n 的整数序列 A ,你需要构造一个长度同样为 n 的整数序列 B ,满足:
对于任意整数 i ∈[1,n] ,存在两个整数 j,k∈[1,n] ,满足 i≠j 且 A[i]=B[j]+B[k] 。

判断能否构造构造出序列 B,若能则输出 "YES" 和任意解,否则输出 "NO" 。

输入

第一行包含一个正整数 n (2≤n≤10^3) ,表示序列 A 的长度。
第二行包含 n 个整数 A[1],A[2],...,A[n] (1≤A[i]≤10^6) ,表示序列 A 。

输出

第一行输出一个字符串,若能构造出序列 B 则输出 "YES" ,否则输出 "NO" 。
若能构造出序列 B ,则第二行输出 n 个整数 B[1],B[2],...,B[n] ,表示序列 B 。
样例输入
Copy
样例1:
2
5 5

样例2:
3
1 2 3

样例3:
3
2 4 5

样例4:
4
1 3 5 7
样例输出
Copy
样例1:
YES
2 3

样例2:
YES
0 1 2

样例3:
NO

样例4:
YES
6 -3 4 1

提示

来源

[提交][状态]