P9955 题解
设有数组 \(a\),其中元素为题目中的 7 个数。
先将这 7 个数从小到大排序,因为 \(A,B,C\in[1,10^9],A\le B\le C\),所以 \(a_1=A,a_2=B\)。
接下来需要分讨,因为 \(A\le B\le C\),所以 \(C\) 只会是 \(a_3,a_4\) 的其中一个(比较 7 个数的大小即可得出此结论)。如果 \(A+B=a_3\),那么此时的 \(a_3\) 就不一定是 \(C\),输出 \(a_4\),否则输出 \(a_3\)。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[10];
int main() {
for (ll i = 1; i <= 7; ++i) cin >> a[i];
sort(a + 1, a + 8);
cout << a[1] << ' ' << a[2] << ' ';
if (a[1] + a[2] == a[3]) cout << a[4];
else cout << a[3];
return 0;
}

浙公网安备 33010602011771号