UVA11054 Wine trading in Gergovia

2021-03-26 11:23

阅读:611

标签:获得   uva   abs   names   思路   clu   题目   include   cin   

题目大意:有N户人家住在一条街上,每户人家有需求和供应葡萄酒, 因为路程的不同,导致交易葡萄酒的成本不同,成本等于交易量乘路程,求最少的交易成本使得每户人家的需求和供应的到满足,(总需求= 总供应)。

 

解题思路:贪心的思想, 最左边的人家想要获得或者是卖出,一定是对右边的人家进行操作,所以问题可以转化成第二家人的需求变成num[0] + num[1], 而运输量即为num[0]的绝对值,不管第二户人家的需求与第一户人家的需求是否匹配或者数量够不够,都可以看成是人家1在买卖过程中将货物暂时放在人家2,以此类推到最后一户人家。

 

注意总和要用long long 。

 

#include 
#include using namespace std;

const int maxn=1e5+10;

int n;

int main()
{
    ios::sync_with_stdio(false);cin.tie(0);
    while(cin>>n&&n!=0)
    {
        long long last=0,ans=0,x;
        for(int i=0;i){
            cin>>x;
            ans+=abs(last);
            last+=x;
        }
        coutendl;
    }
    return 0;
}

 

UVA11054 Wine trading in Gergovia

标签:获得   uva   abs   names   思路   clu   题目   include   cin   

原文地址:https://www.cnblogs.com/Fy1999/p/9388348.html


评论


亲,登录后才可以留言!