码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 4442 Physical Examination

时间:2016-01-27 21:19:22      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

水题。。。但是研究了半天

最后发现是这样排序的,两个项目进行排序,哪一个代价小,哪一个放前面

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <queue>
#include <vector>
#include <cmath>
#include <string>
using namespace std;

const int maxn=100000+10;
struct X
{
    long long a;
    long long b;
} s[maxn];
int n;

long long mod=31536000;

bool cmp(const X&a,const X&b)
{
    return (a.a+a.a*b.b+b.a)<(b.a+b.a*a.b+a.a);
}

int main()
{
    while(~scanf("%d",&n))
    {
        if(!n) break;
        for(int i=1; i<=n; i++)
            scanf("%lld %lld",&s[i].a,&s[i].b);
        long long sum=0;
        sort(s+1,s+1+n,cmp);
        for(int i=1; i<=n; i++)
        {
            long long ai=s[i].a;
            long long bi=s[i].b;
            sum=(sum+((sum*bi)%mod+ai)%mod)%mod;
        }
        printf("%lld\n",sum);
    }
    return 0;
}

 

HDU 4442 Physical Examination

标签:

原文地址:http://www.cnblogs.com/zufezzt/p/5164405.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!