链接:https://ac.nowcoder.com/acm/problem/25867
来源:牛客网
题目描述
又是一年省赛,喆神收拾各种算法书要去打比赛了,但他最多只能背两个背包,而算法书分散在好几个背包里(zhe神有钱),他想知道,最后是否能够把所有的书都放在两个背包里。
输入描述:
第一行一个数n,表示背包的数量。(0 <= n <=100)
第二行n个数ai,分别表示每个背包里的书的个数。(0 <= ai <= 10000)
第三行n个数bi,分别表示每个背包的背包容量。(0 <= bi <= 10000)
输出描述:
如果可以把所有的书放在两个背包里,输出“YES”(没有引号)
否则,输出“NO”
示例1
输入
复制
2
3 5
3 6
输出
复制
YES
代码:
#include <cstdio> #include <iostream> #include <algorithm> #include <math.h> using namespace std; int main() { int n = 0; cin >> n; int a[105]; int ans = 0; int sum = 0; for (int i = 1; i <= n; i++) { cin >> a[i]; sum += a[i]; } for (int i = 1; i <= n; i++) { cin >> a[i]; } sort(a + 1, a + n + 1); if (n >= 1) { ans = a[n - 1] + a[n]; } if (ans > sum) { cout << "YES"; } else cout << "NO"; return 0; }