zoukankan      html  css  js  c++  java
  • HDU6438 Buy and Resell

    HDU6438 Buy and Resell

    比较经典的贪心问题了

    爬山 or 堆 ?

    #include <bits/stdc++.h>
    
    using namespace std;
    const int maxn = 100005;
    typedef long long ll;
    struct goods
    {
        int f,cost;
        goods(){};
        goods(int _f,int _cost)
        {
            f = _f;cost = _cost;
        }
        bool operator < (const goods & _goods)const
        {
            if(cost == _goods.cost){
                return f < _goods.f;
            }
            return cost < _goods.cost;
        }
    }a[maxn];
    int t,n;
    int main()
    {
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d",&n);
            for(int i=1;i<=n;i++){
                scanf("%d",&a[i].cost);
            }
            priority_queue<goods>q;
            while(!q.empty())q.pop();
            ll ans = 0,sum = 0;
            q.push(goods(0,a[n].cost));
            for(int i=n-1;i>=1;i--)
            {
                if(a[i].cost < q.top().cost){
                    if(q.top().f == 0)
                    {
                        sum += 2;
                        ans += (q.top().cost-a[i].cost);
                        q.pop();
                        q.push(goods(1,a[i].cost));
                    }
                    else{
                        ans += (q.top().cost-a[i].cost);
                        int ta = q.top().cost;
                        q.pop();
                        q.push(goods(1,a[i].cost));
                        q.push(goods(0,ta));
                    }
                }
                else
                {
                    q.push(goods(0,a[i].cost));
                }
               //cout<<"i: "<<ans<<" "<<sum<<endl;
            }
            cout<<ans<<" "<<sum<<endl;
        }
    
        return 0;
    }
    View Code
  • 相关阅读:
    shell test条件判断
    shell 变量
    shell 流程结构
    shell 正则表达式
    shell脚本常用参数
    snmp 简单的网络管理协议
    linux
    nmap
    git 基础操作
    linux 下 svn 更新代码
  • 原文地址:https://www.cnblogs.com/solvit/p/9536813.html
Copyright © 2011-2022 走看看