http://acm.hdu.edu.cn/showproblem.php?pid=4442
排个序就可以了
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<vector>
#include<set>
#include<queue>
#include<stack>
#include<map>
#include<string>
#include<iomanip>
using namespace std;
#define LL long long
const int INF=0x5fffffff;
const double FINF=1e9;
const LL MOD=365*24*60*60;
const int N=100005;
struct node
{
LL a,b;
}mem[N];
bool cmp(node x,node y)
{
return x.a*y.b<y.a*x.b;
}
int main()
{
//freopen("data.txt","r",stdin);
int n;
while(cin>>n)
{
if(!n)
break;
for(int i=0;i<n;++i)
cin>>mem[i].a>>mem[i].b;
sort(mem,mem+n,cmp);
LL ans=0;
for(int i=0;i<n;++i)
{
//cout<<ans*mem[i].b<<endl;
ans=(ans+mem[i].a+ans*mem[i].b)%MOD;
}
cout<<ans<<endl;
}
return 0;
}
浙公网安备 33010602011771号