Roundgod and Milk Tea(多校8 ,1011 )贪心

Posted ydw--

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Roundgod and Milk Tea(多校8 ,1011 )贪心相关的知识,希望对你有一定的参考价值。

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6667

思路:求个sum总和,另外再设个变量s=sum;

for循环遍历过去 第i个的时候 他可以喝h=min(a【i】,sum-b【i】)杯奶茶 ,

每次用s减去喝掉的 当s<0的时候代表没有足够的可以喝了 h就赋值为剩下的奶茶数量

ans每次累加h的值

#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll a[1000005],b[1000005];
int main()

    int i,j,n,m,t;
    scanf("%d",&t);
    while(t--)
    
        scanf("%d",&n);
        ll sum=0;
        for(i=1;i<=n;i++)
        
            scanf("%lld%lld",&a[i],&b[i]);
            sum+=b[i];
        
        ll s=sum;
        ll ans=0;
        for(i=1;i<=n;i++)
        
            ll wai=sum-b[i];//除了自己的,外面有多少奶茶
            int h=min(wai,a[i]);//可以喝的
            if(s-h<0)h=s;//不够了 h就赋值为剩下的奶茶数量
            s-=h;
            ans+=h;//累加
        
        cout<<ans<<endl;
    
    return 0;

 

以上是关于Roundgod and Milk Tea(多校8 ,1011 )贪心的主要内容,如果未能解决你的问题,请参考以下文章