zoukankan      html  css  js  c++  java
  • luogu P2073 送花

    二次联通门 : luogu P2073 送花

    /*
        luogu P2073 送花 
    
        ...
        机房里有写平衡树的
        有些线段树的
        
        大家都这么厉害
        
        那我就写个更厉害的吧..
        
        set大法好!!
        233333 
        
        注意一下set的begin()与end()是左闭右开的..被坑了一次 
    */
    #include <cstdio>
    #include <set>
    
    void read (int &now)
    {
        now = 0;
        char word = getchar ();
        bool flag = false;
        while (word > '9' || word < '0')
        {
            if (word == '-')
                flag = true;
            word = getchar ();
        }
        while (word >= '0' && word <= '9')
        {
            now = now * 10 + word - '0';
            word = getchar ();
        }
        if (flag)
            now = -now;
    }
    
    struct Flower_Date
    {
        int Value;
        int Cost;
        
        bool operator < (const Flower_Date &a) const
        {
            return a.Cost < this->Cost; 
        }
    };
    
    std :: set <Flower_Date> Make;
    
    Flower_Date now;
    
    int main (int argc, char *argv[])
    {
        int Answer = 0, __Answer = 0;
        for (int type, x, y; ; )
        {
            read (type);
            if (type == -1)
            {
                for (std :: set <Flower_Date> :: iterator i = Make.begin (); i != Make.end (); i++)
                {
                    Answer += (*i).Value;
                    __Answer += (*i).Cost;
                }
                printf ("%d %d", Answer, __Answer);
                return 0;
            }
            if (type == 1)
            {
                read (now.Value);
                read (now.Cost);
                Make.insert (now);
            }
            else if (type == 2 && !Make.empty ())
            {
                now = *Make.begin ();
                Make.erase (now);
            }
            else if (type == 3 && !Make.empty ())
            {
                std :: set <Flower_Date> :: iterator Iter = Make.end ();
                Iter--;
                now = *Iter;
                Make.erase (now); 
            }
        }
        return 0;
    }
  • 相关阅读:
    RabbitMQ教程
    设置文件夹共享及所有访问权限
    一键操作IIS
    C#操作IIS服务
    【01】浅谈HTTP在WebApi开发中的运用
    Socket通信原理
    C# 通过JObject解析json对象
    MVC小知识整理
    Global.asax文件的作用
    iOS开发日记9-终端命令
  • 原文地址:https://www.cnblogs.com/ZlycerQan/p/6942056.html
Copyright © 2011-2022 走看看