uva 11054 Wine trading in Gergovia(貪心)

來源:互聯網
上載者:User

題目串連:11054 - Wine trading in Gergovia


題目大意:有N戶人家住在一條街上,每戶人家有需求和供應葡萄酒, 因為路程的不同,導致交易葡萄酒的成本不同,成不等於交易量* 路程,求,最少的交易成本使得每戶人家的需求和供應的到滿足,(總需求= 總供應)。


解題思路:貪心的思想, 最左邊的人家想要獲得或者是賣出,一定是對右邊的人家進行操作,所以問題可以轉化成第二家人的需求變成num[0] + num[1], 而運輸量即為num[0]的絕對值,不管第二戶人家的需求與第一戶人家的需求是否匹配或者數量夠不夠,都可以看成是人家1在買賣過程中將貨物暫時放在人家2,以此類推到最後一戶人家。


注意總和要用long long 。

#include <stdio.h>#include <stdlib.h>const int N = 1000005;int num[N];int main() {    int n;    while (scanf("%d", &n), n) {for (int i = 0; i < n; i++)    scanf("%d", &num[i]);long long sum = 0;for (int i = 0; i < n - 1; i++) {    sum += abs(num[i]);    num[i + 1] += num[i];}printf("%lld\n", sum);    }    return 0;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.