我真感谢死出题人了
题目描述
蜗牛老师有3个数字,这3个数字将是本次蜗牛编程月赛的重要秘钥。
现在蜗牛老师告诉你们三个数字为x,y,z(x≤y≤z),但是会告诉你7个整数,还告诉你这7个数字对应了x,y,z,x+y,y+z,x+z,x+y+z这个序列的某个排列(排列就是顺序不一定对应,但是肯定存在一对一的对应关系)。
现在给定7个数字,请输出x,y,z
输入格式 threenum.in
输入一行,包含七个空格分隔的整数。
输出格式 threenum.out
三个用空格隔开的整数,x,y,z
样例数据
input
1 2 3 4 5 6 7
output
1 2 4
解释
输入的第3个数并不是z,而是x+y
数据规模与约定
保证每个整数都在1…109
时间限制:1s
空间限制:256MB
题解
贼简单 我还错了
把7个数排下序,最小的是x,次小的是y,最大的是x+y+z,于是z也知道了。。。
#include<bits/stdc++.h>
using namespace std;
int p[10],x,y,z;
int main()
{
freopen("threenum.in","r",stdin);
freopen("threenum.out","w",stdout);
cin>>p[1]>>p[2]>>p[3]>>p[4]>>p[5]>>p[6]>>p[7];
sort(p+1,p+8);
x=p[1];
y=p[2];
z=p[7]-p[1]-p[2];
cout<<x<<' '<<y<<' '<<z;
return 0;
}