nefu oj 986 林大的入学体检(运算符重载在排序中的运用)

sum=(sum+m[i].a+sum*m[i].b)%mod;对应描述当李华刚来到校医院时每个项目要排的时间为ai秒,如果他选择了其中一个项目先排队,那么对于其他的项目每秒增加额外排队时间为bi注意理解

还有 数组开小了就会RE =.=

P.S.本来是单组输入的题多组输入也能过~

bool cmp(time x,time y)
{
    return x.a*y.b
}
CE,换了

struct time
{
    long long a,b;
    bool operator < (const time &other) const
    {return a*other.b
}m[100005];

A了~~

全题代码如下

#include
#include
#include
#include
using namespace std;
const int mod=365*24*60*60;
struct time
{
    long long a,b;
    bool operator < (const time &other) const
    {return a*other.b
}m[100005];
long long sum;
int main()
{
   //freopen("data.in.txt","r",stdin);
    intn,t;
   while(~scanf("%d",&t))

{

    for(int k=1;k<=t;k++)
    {
         scanf("%d",&n);
         for(int i=0;i
         sort(m,m+n);
         sum=0;
         for(int i=0;i
         {
              sum=(sum+m[i].a+sum*m[i].b)%mod;
         }
              printf("Case #%d: %I64d\n",k,sum);
    }
 }
    return0;
}


你可能感兴趣的:(nefu oj 986 林大的入学体检(运算符重载在排序中的运用))