码迷,mamicode.com
首页 > 其他好文 > 详细

uva-11054-模拟

时间:2018-12-16 13:21:45      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:include   ext   ++   +=   需要   形式   ack   ios   .text   

题意:一条街有许多卖酒的店,有些店需要进酒,有些店需要出酒,所有的店的需求总和为0,问怎么移动,使酒的移动总和最少。

模拟,考虑一家店的需求为xi,无论是从左或者是从右或者其他形式,让xi->0的花费总是xi.所以只要从左往右开始计算每家的花费,或者从右往左也行.

这样算是最容易的方式.

 

#include "pch.h"
#include <string>
#include<iostream>
#include<map>
#include<memory.h>
#include<vector>
#include<algorithm>
#include<queue>
#include<vector>
#include<stack>
#include<math.h>
#include<iomanip>
#include<bitset>

namespace cc
{
    using std::cout;
    using std::endl;
    using std::cin;
    using std::map;
    using std::vector;
    using std::string;
    using std::sort;
    using std::priority_queue;
    using std::greater;
    using std::vector;
    using std::swap;
    using std::stack;
    using std::bitset;


    constexpr int N = 100000;
    
    int a[N];
    void solve()
    {
        int n;
        while (cin>>n&&n) 
        {
            long long sum = 0;
            int cur = 0;
            long long pre = 0;
            for (int i=0;i<n;i++) 
            {
                cin >> cur;
                if (pre < 0)
                    sum += (pre*-1);
                else
                    sum += pre;
                pre += cur;
            }
            cout << sum << endl;
        
        }
    }

};


int main()
{

#ifndef ONLINE_JUDGE
    freopen("d://1.text", "r", stdin);
#endif // !ONLINE_JUDGE
    cc::solve();
    return 0;
}

 

uva-11054-模拟

标签:include   ext   ++   +=   需要   形式   ack   ios   .text   

原文地址:https://www.cnblogs.com/shuiyonglewodezzzzz/p/10126132.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!