我一开始发了一个题解然后消失了!!!没有在题解界面里显示!!!
$\color{red}{DP}$——目录
解题方法:
首先,在$A,B,C,A+B,A+C,B+C,A+B+C$中,显然可见 $A$ 和 $B$是最小的两个数
why?
因为首先 $A$ 是最小的,接着 $C,A+C$ 都大于 $B$,其他的都含有 $B$,所以得到结论。
然后 $A+B+C$ 是最大的,我们可以直接通过 $A$ 和 $B$ 求出 $C$
完事了
完整代码,时间复杂度:$O(1)$
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int a[10];
int main()
{
for (int i = 1; i <= 7; i ++ ) cin >> a[i];
sort(a + 1, a + 8);
cout << a[1] << " " << a[2] << " " << a[7] - a[1] - a[2] << endl;
return 0;
}
c>=b>=a不能三个都相等吗
如果三个都相等那不是取那个都可以吗......
另外这个问题不错
sort排序为啥右边是a+8啊?
a+1到a+8不是已经八个元素了吗?
这是sort的语法,你可以自己查一查
我不再解释了,因为这是最最基本的了
哦哦我明白了,谢谢大佬,不包括右边的那个数组名+下标值
👍
我刚开始学习算法,感觉你好厉害,请问一下刚开始如何学呢
跟着算法基础课就行了
这学下来就差不多了
好的,谢谢
大佬六啊
反正我的题解不可能上第一啦,赞一个hh
hh
hh
大佬Orz
真的太妙了
妙啊卧槽
妙啊
大佬,可以问一问A,B,C,A+B,A+C,B+C,A+B+C这是单调的吗
并不,比如原题给的例子,2 2 11 4 9 7 9,abc分别是2,2,7,但是2 + 2 = 4 < 7
感谢大佬
👍👍👍
现在acwing可以自己上传视频题解了??
我在bilibili上上传的
看完题目就知道这么做了XD
哈哈可以
miao
妙啊
太妙了‘
不过排序已经算是NlogN了吧。
需要排序的一共就7个数,时间复杂度基本上也算O(1)吧
hhh确实,总共7个数怎么做都是O(1)
我确实没考虑到这一点,但是这个事件复杂度是没有n的,数字个数是一个常数,所以可以忽略hh
亏我还暴力了哈哈哈哈
hh
能问下怎么暴力做嘛?(没想出来暴力的做法,就一个一个比较的话要怎么比较嗷?)
就是枚举四个数
dfs, 枚举全排列,然后做判断hh