当前位置: 代码迷 >> 综合 >> Greed vj
  详细解决方案

Greed vj

热度:40   发布时间:2024-01-14 22:45:53.0

Greed

CodeForces - 892A 

Jafar has n cans of cola. Each can is described by two integers: remaining volume of colaai and can's capacitybi (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 integersa1,?a2,?...,?an (0?≤?ai?≤?109) — volume of remaining cola in cans.

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

Output

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

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

Example
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
#include <stdio.h>
#include <stdlib.h>int main() {int t,i,n;long long a,b,c,d,m = 0;scanf("%d",&n);for(i = 0;i < n;i++){scanf("%lld",&a);m += a;}for(i = 0;i < n;i++){scanf("%lld",&b);if(i == 0)c = b;else if(i == 1){d = b;if(c > d){t = c,c = d;d = t;}}else{if(b > c)c = b;if(c > d){t = c,c = d;d = t;}}}n = c + d;if(n < m)printf("NO\n");elseprintf("YES\n");return 0;
}