D. 闰年天数求和

    Type: Default 1000ms 256MiB

闰年天数求和

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

假设 day(i)day(i) 能得到 ii 年的天数,leap(i)leap(i) 能得到 ii 年是不是闰年(是的话返回 11,不是的话返回 00)。

现在给定 l,rl,r,求:

i=lrday(i)×leap(i)\sum_{i=l}^r day(i)\times leap(i)

其中 i=lr\sum_{i=l}^r 指的是让 iillrr 分别取值算出右边的式子的值,把所有值求和。

用 C++ 描述的话,不考虑整数溢出等额外问题,可以简单看作是:

int sumLR(int l, int r)
{
    int ans = 0;
    for(int i = l; i <= r; i++)
        ans += day(i) * leap(i);
    return ans;
}

输入格式

空格隔开的两个数 l,rl,r

输出格式

一个数,即表达式的值。

2024 2024
366
2024 2025
366

样例 2 解释

原式即

$$day(2024)\times leap(2024)+day(2025)\times leap(2025) \\ = 366*1+365*0 \\ = 366 $$
2024 2028
732
2000 3000
88938

数据规模与约定

对于 100%100\% 的数据,1583lr<32001583 \le l\le r\lt 3200

  • 子任务 1(30 分):保证 l=rl=r
  • 子任务 2(30 分):保证 lrl\sim r 范围内没有整百的年份。
  • 子任务 3(40 分):没有特殊限制。

算法 AC 编程挑战赛

Not Attended
Status
Done
Rule
Ledo
Problem
6
Start at
2025-12-3 18:20
End at
2025-12-3 20:20
Duration
2 hour(s)
Host
Partic.
41