前言
明明就是一片题解
P1178 到天宫做客
题目描述
有一天,我做了个梦,梦见我很荣幸的接到了猪八戒的邀请,到天宫陪他吃酒。我犹豫了。天上一日,人间一年啊!当然,我是个闲人,一年之中也没有多少时日是必须在人间的,因此,我希望选一个最长的空闲时间段,使我在天上待的时间尽量长。记住,今年是4000 40004000年。天上一天也是24 2424小时,每小时60 6060分,每分60 6060秒。
输入格式
第一行是一个非负整数N NN,表示4000 40004000年中必须呆在人间的天数。
以下共N NN行,每行两个用空格隔开的正整数,即日期(月,日),输入文件保证无错误,日期无重复。
输出格式
一个非负整数,即在天上的时间(四舍五入精确到1 11秒)。
输入输出样例 #1
输入 #1
2 3 8 12 2输出 #1
63266说明/提示
样例解释(2023.9.29 新增)
4000 40004000年是闰年,共有366 366366天,其中二月份有29 2929天。
最长连续空闲时间是从3 33月9 99日至12 1212月1 11日一共268 268268天。对应着天上的86400 × 268 ÷ 366 = 63265.57 ≈ 63266 86400\times 268 \div 366=63265.57\approx 6326686400×268÷366=63265.57≈63266秒。
题目传送门
AC代码
#include<bits/stdc++.h>usingnamespacestd;intf[12],a[100000];intn,sum;intx,y;doublek;intmain(){f[1]=0;f[2]=31;f[3]=60;f[4]=91;f[5]=121;f[6]=152;f[7]=182;f[8]=213;f[9]=244;f[10]=274;f[11]=305;f[12]=335;cin>>n;for(inti=1;i<=n;i++){cin>>x>>y;a[i]+=f[x];a[i]+=y;}sort(a+1,a+1+n);a[n+1]=367;for(inti=1;i<=n+1;i++){sum=max(a[i]-a[i-1]-1,sum);}k=(sum*24*360*10*1.0/366)+0.5;sum=k;cout<<sum;}