D. 到天宫做客 Problem ID: 1345 Contest ID: 5994 必做题

有一天,我做了个梦,梦见我很荣幸的接到了猪八戒的邀请,到天宫陪他吃酒。我犹豫了。天上一日,人间一年啊!当然,我是个闲人,一年之中也没有多少时日是必须在人间的,因此,我希望选一个最长的空闲时间段,使我在天上待的时间尽量长(首尾两天不计入)。记住,今年是4000年。天上一天也是24小时,每小时60分,每分60秒。

输入格式:

输入文件的第一行是一个非负整数 N,表示4000年中必须呆在人间的天数,以下共N行,每行两个用空格隔开的正整数,即日期(月,日),输入文件保证无错误,日期无重复。

输出格式:

输出文件仅有一行包含一个非负整数,即在天上的时间(四舍五入精确到秒)。

样例输入:

2
3 8
12 2

样例输出:

63266

数据范围:

时间限制:

1000

空间限制:

65536

4 个赞

定义

int num[100001];
int f[13]={0,0,31,60,91,121,152,182,213,244,274,305,335};
int i,a,b,n,ans;
double k;

输入并相加

cin>>n;
for(i=1;i<=n;i++){
	cin>>a>>b;
	num[i]+=f[a];
	num[i]+=b;
}

排序

sort(num+1,num+n+1);

计算,输出

num[n+1]=367; 
for (i=1;i<=n+1;i++){
	ans=max(num[i]-num[i-1]-1,ans);
}
k=(ans*1.0*24*3600/366)+0.5;
ans=k;
cout<<ans<<endl;
4 个赞

谢谢

3 个赞