P1178 到天宫做客 题解

前言

明明就是一片题解

P1178 到天宫做客

题目描述

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

输入格式

第一行是一个非负整数 N N N,表示 4000 4000 4000 年中必须呆在人间的天数。

以下共 N N N 行,每行两个用空格隔开的正整数,即日期(月,日),输入文件保证无错误,日期无重复。

输出格式

一个非负整数,即在天上的时间(四舍五入精确到 1 1 1 秒)。

输入输出样例 #1

输入 #1

2
3 8
12 2

输出 #1

63266

说明/提示

样例解释(2023.9.29 新增)

4000 4000 4000 年是闰年,共有 366 366 366 天,其中二月份有 29 29 29 天。

最长连续空闲时间是从 3 3 3 9 9 9 日至 12 12 12 1 1 1 日一共 268 268 268 天。对应着天上的 86400 × 268 ÷ 366 = 63265.57 ≈ 63266 86400\times 268 \div 366=63265.57\approx 63266 86400×268÷366=63265.5763266 秒。
题目传送门

AC代码

#include<bits/stdc++.h>
using namespace std;
int f[12],a[100000];
int n,sum;
int x,y;
double k;
int main(){
    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(int i=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(int i=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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值