Codeforces 892A. Greed
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!
InputThe first line of the input contains one integer n (2 ≤ n ≤ 100 000
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.
OutputPrint "YES" (without quotes) if it is possible to pour all remaining cola in 2
You can print each letter in any case (upper or lower).
Examples input2 3 5 3 6output
YESinput
3 6 8 9 6 10 12output
NOinput
5 0 0 5 0 0 1 1 8 10 5output
YESinput
4 4 1 0 3 5 2 2 3output
YESNote
In the first sample, there are already 2
題目大意:分別給你瓶子裡剩下的可樂的體積,再給出每個瓶子的容積。問能不能把所有可樂都倒進兩個杯子裡面
倒的話肯定是倒進容積最大的前兩個瓶子裡面,這樣最保險
#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;
}