查看: 2156|回復: 0
打印 上一主題 下一主題

[ZJ] b231 - TOI2009 第三題:書

[複製鏈接]
  • TA的每日心情
    慵懶
    2015-4-10 14:18
  • 簽到天數: 78 天

    [LV.6]常住居民II

    176

    主題

    612

    帖子

    3959

    積分

    管理員

    Rank: 9Rank: 9Rank: 9

    積分
    3959

    台南一中資訊社新手達陣程式設計達人 - 2014

    跳轉到指定樓層
    樓主
    發表於 2014-6-28 21:57:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

    趕快加入我們來參與討論吧!

    您需要 登錄 才可以下載或查看,沒有帳號?加入我們

    x
    原題:http://zerojudge.tw/ShowProblem?problemid=b231
    解題方向:貪心

    基本的排程問題,舉幾個例子,排序一下就能找出理想順序了

    /**********************************************************************************/
    /*  Problem: b231 "TOI2009 第三題:書" from 2009 TOI 研習營初選         */
    /*  Language: CPP (458 Bytes)                                                     */
    /*  Result: AC(4ms, 260KB) judge by this@ZeroJudge                                */
    /*  Author: lfs92002 at 2013-02-22 22:19:25                                       */
    /**********************************************************************************/


    #include<cstdio>
    #include<algorithm>
    using namespace std;
    struct _data{
            int A,B;
    }data[1001];

    bool operator<(const _data &a,const _data &b)
    {
            return a.B>b.B;
    }

    int main()
    {
            int N;
            int ta,tb;
            while(~scanf("%d",&N))
            {
                    for(int a=0;a<N;a++)scanf("%d%d",&data[a].A,&data[a].B);
                    sort(data,data+N);
                    ta=tb=0;
                    for(int a=0;a<N;a++)
                    {
                            ta+=data[a].A;
                            tb=max(tb,ta+data[a].B);
                    }
                    printf("%d\n",tb);
            }
            return 0;
    }


    回復

    使用道具 檢舉

    您需要登錄後才可以回帖 登入 | 加入我們

    本版積分規則

    快速回覆 返回頂部 返回列表