zoukankan      html  css  js  c++  java
  • HDU6667 Roundgod and Milk Tea

    题意

    一共有n(<=1e6)个班级,第i个班级有a[i]个同学,b[i]杯奶茶。每个班的同学不能喝自己班的奶茶,问n个班最多喝几杯奶茶。
    题目链接

    思路

    考虑每个班的奶茶是否会浪费,浪费指的是其他所有班都喝某一个班的奶茶也喝不完。若有浪费,则让其他班的同学都来喝这个班的奶茶,这个班的同学喝所有其他班的奶茶。若没有浪费,则答案为奶茶总数和总人数的最小值。

    代码

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long LL;
    const int maxn = 1000000+10;
    
    int n;
    int a[maxn],b[maxn];
    
    int main()
    {
        int T;
        scanf("%d",&T);
        while (T--)
        {
            scanf("%d",&n);
            for (int i=1;i<=n;i++) scanf("%d%d",&a[i],&b[i]);
            LL suma=0,sumb=0;
            for (int i=1;i<=n;i++) suma+=a[i],sumb+=b[i];
            LL ans=0;
            bool jud=0;
            for (int i=1;i<=n;i++)
            {
                if (suma-a[i]<=b[i])
                {
                    ans=max(ans,suma-a[i]+min((LL)a[i],sumb-b[i]));
                    jud=1;
                }
            }
            if (!jud)
            {
                ans=min(suma,sumb);
            }
            printf("%lld
    ",ans);
        }
        return 0;
    }
    
  • 相关阅读:
    学习笔记
    学习笔记
    web前端初步学习心得
    Redis学习 命令执行
    Redis笔记 info命令
    UNIX编程 GetAddrInfo笔记
    UNIX编程 TCP基础读写笔记
    日本語自然言語処理
    日本語助詞と助動詞
    UNIX编程 I/O多路转接笔记
  • 原文地址:https://www.cnblogs.com/zhanggengchen/p/11409009.html
Copyright © 2011-2022 走看看