记录编号 |
128136 |
评测结果 |
AAAAAAAAAA |
题目名称 |
到天宫做客 |
最终得分 |
100 |
用户昵称 |
奶猹 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.003 s |
提交时间 |
2014-10-16 21:06:53 |
内存使用 |
0.39 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
using namespace std;
int n;
struct aaa{
int mon;
int day;
}a[10086];
bool cmp(aaa a,aaa b)
{
if(a.mon<b.mon)return 1;
if(a.mon==b.mon&&a.day<b.day)return 1;
return 0;
}
int b[15]={0,0,31,60,91,121,152,182,213,244,274,305,335,366};
int main()
{
freopen("heaven.in","r",stdin);
freopen("heaven.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d%d",&a[i].mon,&a[i].day);
sort(a+1,a+n+1,cmp);
double maxn=b[a[1].mon]+a[1].day;
for(int i=1;i<n;i++)
{
double tmp=b[a[i+1].mon]+a[i+1].day-b[a[i].mon]-a[i].day;
if(tmp>maxn)
maxn=tmp-1;
}
double tmp=366-b[a[n].mon]-a[n].day;
if(tmp>maxn)
maxn=tmp;
maxn=maxn*86400.0/366.0;
int ans0=int(maxn);
if(maxn-ans0>=0.5)maxn+=1.0;
if(n==0)
{
printf("86400");
return 0;
}
if(n==366)
{
printf("0");
return 0;
}
printf("%d\n",int(maxn));
}