编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#48173 #112. czq的时间间隔 Accepted 100 67 ms 376 K C++ 17 / 1.2 K 2n8asm 2021-05-12 9:59:22
显示原始代码
#define I(a, b, c) (a <= b && b <= c)
#define M(m, y) int(m == 1 ? (A[y % 400 >> 6] >> (y % 400 & 63) & 1) | 28 : _ >> m * 5 & 31)
#include <bits/stdc++.h>
uint64_t const _(0XFFBFEFFFDFF7C1F), A[]{ 0x1111111111111111,
                                          0x1111110111111111,
                                          0x1111111111111111,
                                          0x1111111111111011,
                                          0x1111011111111111,
                                          0x1111111111111111,
                                          4369 };
struct Main {
    int year, mon, mday, hour, min, sec;
    bool t;
    Main() {
        scanf("%d/%d/%d%d:%d:%d", &year, &mon, &mday, &hour, &min, &sec);
        --mon;
        t = I(1, year, 9999) && I(1, mday, M(mon, year)) && I(0, hour, 23) && I(0, min, 59) && I(0, sec, 59);
        sec += min * 60 + hour * 3600;
    }
};
int main() {
    int t;
    for (scanf("%d", &t); t--;) {
        Main a, b;
        if (a.t && b.t) {
            long long t = (a.year - b.year) * 337 + a.mday - b.mday;
            while (a.mon--) t += M(a.mon, a.year);
            while (b.mon--) t -= M(b.mon, b.year);
            while (b.year < a.year) --a.year, t += M(1, a.year);
            while (a.year < b.year) --b.year, t -= M(1, b.year);
            printf("%lld\n", std::abs(t * 86400 + a.sec - b.sec));
        } else
            puts("-1");
    }
}
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:4 ms
内存:376 KiB

输入文件(1.in

14
2020/08/22 23:48:00 2020/08/22 23:48:59
2020/08/22 23:48:59 2020/08/22 23:48:00
2020/08/22 23:22:
<463 bytes omitted>

答案文件(1.out

59
59
1537
82527
1032927
21164127
17902896185
-1
-1
-1
-1
-1
-1
315537897599

用户输出

59
59
1537
82527
1032927
21164127
17902896185
-1
-1
-1
-1
-1
-1
315537897599

系统信息

Exited with return code 0
测试点 #2
Accepted
得分:100
用时:63 ms
内存:364 KiB

输入文件(2.in

10000
5348/13/26 20:09:36 5809/10/09 11:17:33
8951/13/09 02:54:35 1245/10/20 19:37:36
7524/01/04 20:
<399906 bytes omitted>

答案文件(2.out

-1
-1
52181193949
167527773820
11151421677
176367406636
34137847390
71087537213
156479412870
<102130 bytes omitted>

用户输出

-1
-1
52181193949
167527773820
11151421677
176367406636
34137847390
71087537213
156479412870
-1
-1
81508312928
163816674890
-1
6
<92102 bytes omitted>

系统信息

Exited with return code 0