您的位置:首页 > 其它

Codeforces 892A. Greed

2017-11-18 09:10 856 查看
A. Greed

time limit per test
2 seconds

memory limit per test
256 megabytes

input
standard input

output
standard output

Jafar has n cans of cola. Each can is described by two integers: remaining volume of cola ai and
can's capacity bi (ai  ≤  bi).

Jafar has decided to pour all remaining cola into just 2 cans, determine if he can do this or not!

Input

The first line of the input contains one integer n (2 ≤ n ≤ 100 000) —
number of cola cans.

The second line contains n space-separated integers a1, a2, ..., an (0 ≤ ai ≤ 109)
— volume of remaining cola in cans.

The third line contains n space-separated integers that b1, b2, ..., bn (ai ≤ bi ≤ 109)
— capacities of the cans.

Output

Print "YES" (without quotes) if it is possible to pour all remaining cola in 2 cans.
Otherwise print "NO" (without quotes).

You can print each letter in any case (upper or lower).

Examples

input
2
3 5
3 6


output
YES


input
3
6 8 9
6 10 12


output
NO


input
5
0 0 5 0 0
1 1 8 10 5


output
YES


input
4
4 1 0 3
5 2 2 3


output
YES


Note

In the first sample, there are already 2 cans, so the answer is "YES".

感觉这题挺考思维的。

题目大意:分别给你瓶子里剩下的可乐的体积,再给出每个瓶子的容积。问能不能把所有可乐都倒进两个杯子里面

倒的话肯定是倒进容积最大的前两个瓶子里面,这样最保险

#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
ll num[100010];
bool cmp(int a,int b){
return a>b;
}
int main(){
ll sum=0;
int n;
cin>>n;
for(int i=0;i<n;i++){
int a;
cin>>a;
sum+=a;
}
for(int i=0;i<n;i++){
cin>>num[i];
}
sort(num,num+n,cmp);
if(num[0]+num[1]>=sum) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: