#P2466. Pairsumonious Numbers

Pairsumonious Numbers

问题描述

给定一个整数 N(22 < NN < 1010),我们可以通过计算 NN 个数的所有两两之和,得到 N×(N1)/2N×(N−1)/2 个和。你的任务是:给定这些和,求出原始的 NN 个数。

输入格式

  • 每行输入包含:
    • 一个整数 NN,表示原始数字的个数。
    • 紧接着是 N×(N1)/2N×(N−1)/2个整数,表示所有两两之和,以空格分隔。

输出格式

  • 对于每一行输入,输出一行 NN 个整数,按非递减顺序排列,使得这些数的两两之和与输入的和完全匹配。
  • 如果存在多个解,输出任意一个即可。
  • 如果无解,输出 ImpossibleImpossible

输入数据

3 1269 1160 1663
3 1 1 1
5 226 223 225 224 227 229 228 226 225 227
5 216 210 204 212 220 214 222 208 216 210
5 -1 0 -1 -2 1 0 -1 1 0 -1
5 79950 79936 79942 79962 79954 79972 79960 79968 79924 79932

输出数据

383 777 886
Impossible
111 112 113 114 115
101 103 107 109 113
-1 -1 0 0 1
39953 39971 39979 39983 39989

题目来源

Waterloo Local Contest, 2001.09.29