zoukankan      html  css  js  c++  java
  • Luogu P1080 国王游戏

    Description:

    恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。国王不希望某一个大臣获得特别多的奖赏,所以他想请你帮他重新安排一下队伍的顺序,使得获得奖赏最多的大臣,所获奖赏尽可能的少。注意,国王的位置始终在队伍的最前面。

    Analysis:

    from: _rqy



    Code

    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    const int MAX_N = 1001;
    struct officer
    {
        int a,b;
        bool operator < (officer Off) const {
            return a*b < Off.a*Off.b;
        }
    }e[MAX_N];
    int n;
    long long ans,tmp;
    int main()
    {
        scanf("%d",&n);
        for(int i = 0;i <= n;++i)
        {
            scanf("%d%d",&e[i].a,&e[i].b);
        }
        sort(e + 1,e + 1+ n);
        //ans = 1e9 + 7;
        tmp = e[0].a;
        for(int i = 1; i <= n;++i)
        {
            ans = max(ans,tmp/e[i].b);
            tmp *= e[i].a;
        }
        printf("%lld
    ",ans);
        return 0;
    }
    
    岂能尽如人意,但求无愧我心
  • 相关阅读:
    MVC3 的路由Test
    表连接
    Moq MVC 初窥门径(一)
    FATAL ERROR: JS Allocation failed process out of memory
    版本号的意义
    JavaScript 类型的隐式转换
    翻译foreach语句
    一次http请求的全过程(附mmap文件下载)
    AOP学习笔记
    Kindle3之中文乱码问题
  • 原文地址:https://www.cnblogs.com/Zforw/p/11299061.html
Copyright © 2011-2022 走看看