恢复三个数字


Submit solution

Points: 10
Time limit: 1.0s
Memory limit: 4M

Author:
Problem type
Allowed languages
C++

恢复三个数字

Polycarp 猜测了三个正整数 \(a\),\(b\) 和 \(c\)。他将这三个数字保密,但在黑板上写下了四个数字,这四个数字是:
任意两数之和(共 \(3\) 个数字)
三个数的总和(共 \(1\) 个数字)
因此,黑板上显示的 \(4\) 个数字是:
\(a + b\)
\(a + c\)
\(b + c\)
\(a + b + c\)
这些数字的顺序是随机的。

你的任务是根据这 \(4\) 个数字,推断出原始的 \(3\) 个数字 \(a\)、\(b\)、\(c\),并按任意顺序输出它们。

请注意:
\(a\)、\(b\) 和 \(c\) 可能相等(例如 \(a=b=c\))。

输入

输入的第一行包含 \(4\) 个正整数 \(x_1,x_2,x_3,x_4\)(\(2 \le x_i \le 10^9\))。 这些数字表示黑板上显示的 \(4\) 个数,顺序是随机的。 题目保证至少存在一个解。

输出

输出 \(3\) 个正整数 a b c

如果有多个解,可以按任意顺序输出。

输入:
3 6 5 4
输出:
2 1 3
输入:
40 40 40 60
输出:
20 20 20
输入:
201 101 101 200
输出:
1 100 100

Comments

There are no comments at the moment.