#D0513. 闰年天数求和

闰年天数求和

题目描述

假设 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 分):没有特殊限制。