• SUDT2177体检


    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2177

    题目描述

      大家都知道,新生入学的前几周要体检,体检的那一天 HH 早起(九点半)来到了校医院,但是到了之后她发现排队等候体检的人太多了,而且人数在不断的增加。体检需要检查许多个项目,每个项目都需要排队,而且随着时间的推移,每个队列的人数都在慢慢增加。
    已知每个体检项目的队列都有两个属性(ai, bi):
    1、如果 HH 在 0 时刻站在了这个队列后,那么她需要 ai 秒就可以完成这个项目的体检;
    2、如果 HH 没在这个队列中,那么 HH 完成这个项目的时间每秒会在 ai 的基础上增加 bi 秒。
      作为一个测肺活量的时候怒吹了 1000+ 的大神,她希望能尽快体检完毕去吃饭,所以选择正确的体检顺序是非常非常重要的。

    输入

    输入包含多组测试数据,对于每组测试数据:
    输入的第一行为一个正整数 n(1 ≤ n ≤ 105),代表需要体检的项目数;
    接下来 n 行每行为两个正整数 a,b(0 ≤ a, b < 1000), 依次代表第1-n个队列的两个属性。
    注意:64-bit 整型请使用 long long 来定义,并且使用 %lld 或 cin、cout 来输入输出,请不要使用 __int64 和 %I64d。

    输出

    输出完成体检的最短时间,由于最后结果可能会很大,所以你只要输出结果对365×24×60×60取余后的结果即可。

    示例输入

    2
    3 1
    2 3
    5
    1 2
    2 3
    3 4
    4 5
    5 6

    示例输出

    7
    1419

    提示

    样例解释:
    第一组样例,最短时间:HH 先排在第二个队伍,用时 2 秒体检完成第二个项目,然后排在第一个队伍,用时 5 秒完成第一个项目,总用时 7 秒。
    第二组样例,最短时间:HH 按照给定的顺序, 用时 1 秒体检完成第一个项目,用时 5 秒完成第二个项目,用时 27 秒完成第三个项目,用时 169 秒完成第四个项目,用时 1217 秒完成第五个项目,总用时 1+5+27+169+1217=1419 秒。
     1 #include<stdio.h>
     2 #include<cstring>
     3 #include<algorithm>
     4 #include<iostream>
     5 using namespace std ;
     6 const int maxn = 100010;
     7 struct node
     8 {
     9     int a,b ;
    10     double c ;
    11     bool friend operator < (node x,node y)
    12     {
    13         return x.c < y.c;
    14     }
    15 }ss[maxn];
    16 int main()
    17 {
    18     int n ;
    19     while(cin>>n)
    20     {
    21         for (int i = 0; i <= n-1; i ++)
    22         {
    23             scanf("%d %d",&ss[i].a,&ss[i].b);
    24             ss[i].c = ss[i].a*1.0/ss[i].b;
    25         }
    26         sort(ss,ss+n);
    27         long long sum = ss[0].a;
    28         for (int i = 1; i <= n-1; i ++)
    29         {
    30             sum = (sum+sum*ss[i].b+ss[i].a)%(365*24*60*60);
    31         }//取余这个地方一定不能在输出那儿取余,因为longlong存不了那么大的...........
    32         printf("%lld
    ",sum);
    33     }
    34     return 0;
    35 }
    View Code

    这个题不是特别难,但是要注意,longlong是存不了太大的数据的

     
  • 相关阅读:
    (vue.js)vue中怎么设置select默认选中
    owin搭载静态网页
    Vue在IE11下不兼容,最后问题竟然出现在ie的缓存上
    setTimeout或者setInterval传递参数的解决办法
    jquery 发送post请求访问webapi,无法接到参数
    64位进程和32位进程通信问题,接收端收不到 SendMessage发送的消息
    关于C#设置Form的visible属性隐藏问题
    微信 支付支付授权目录 修改
    微信支付(20140923更新)商户支付密钥key的生成与设置
    申请微信公众平台是服务号,营业执照是个体工商户,没有对公账户,能申请微信支付功能吗?
  • 原文地址:https://www.cnblogs.com/luyingfeng/p/3233416.html
Copyright © 2020-2023  润新知