zoukankan      html  css  js  c++  java
  • UVA11054 Wine trading in Gergovia

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

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

    注意总和要用long long 。

    #include <iostream>
    #include <cmath>
    
    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<n;i++){
                cin>>x;
                ans+=abs(last);
                last+=x;
            }
            cout<<ans<<endl;
        }
        return 0;
    }
  • 相关阅读:
    C语言寒假大作战04
    C语言寒假大作战03
    C语言寒假大作战02
    C语言寒假大作战01
    C语言I作业12—学期总结
    C语言I博客作业11
    C语言I博客作业10
    C语言I博客作业09
    C语言I博客作业08
    c语言||作业01
  • 原文地址:https://www.cnblogs.com/Fy1999/p/9388348.html
Copyright © 2011-2022 走看看