• codeforces 892 A题 Greed


    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".

    题意:有 n 瓶可乐 , 然后每瓶可乐都有剩余的可乐 和 不同的容量 , 问能不能把所有剩余的可乐倒在 两个可乐瓶子里。

    思路:累加可乐剩余的体积 , 找出 最大的两个可乐的 容量和  , 比较

    #include <iostream>
    #include <algorithm>
    
    using namespace std ; 
    
    #define maxn 101000
    #define LL long long 
     
    int main(){
        int n ; 
        LL num[maxn] ; 
        LL sum[maxn] ; 
        while(~scanf("%d" , &n)){
            
        LL summ = 0 ;  
            for(int i=1 ; i<= n ; i++){
                scanf("%lld" , &num[i]) ; 
                summ += num[i] ; 
            } 
            
            for(int i=1 ; i<=n ; i++){
                scanf("%lld" , &sum[i]) ; 
            } 
        
            sort(sum+1 , sum+1+n ) ; 
            if(summ <= sum[n] + sum[n-1]) {
                printf("YES
    ") ; 
            } else {
                printf("NO
    ") ; 
            }
        
        } 
        return 0 ; 
    } 
  • 相关阅读:
    最容易被淘汰的八种人
    java基础编程——用两个栈来实现一个队列
    java基础编程——重建二叉树
    java基础——多线程
    java基础编程——链表反转
    java基础——线程池
    java基础——线程
    java基础编程——二维数组中的查找
    网络编程——TCP协议和通信
    网络编程——UDP协议和通信
  • 原文地址:https://www.cnblogs.com/yi-ye-zhi-qiu/p/7865741.html
Copyright © 2020-2023  润新知