#58355. Convoluted Intervals

Convoluted Intervals

暂无测试数据。

奶牛们正在努力尝试发明有趣的新游戏来玩。他们目前的工作之一与一组 $N$ 个区间($1\leq N\leq 2\times 10^5$)有关,其中第 $i$ 个区间从数轴上的 $a_i$ 位置开始,并在位置 $b_i\geq a_i$ 结束。$a_i$ 和 $b_i$ 均为 $0\cdots M$ 范围内的整数,其中 $1\leq M\leq 5000$。

这个游戏的玩法是,Bessie 选择某个区间(假设是第 $i$ 个区间),而她的表妹 Elsie 选择某个区间(假设是第 $j$ 个区间,可能与 Bessie 所选的的区间相同)。给定某个值 $k$,如果 $a_i+a_j\leq k\leq b_i+b_j$,则她们获胜。

对范围 $0\cdots 2M$ 内的每个值 $k$,请计算使得 Bessie 和 Elsie 可以赢得游戏的有序对 $(i,j)$ 的数量。

输入格式

输入的第一行包含 $N$ 和 $M$。

以下 $N$ 行每行以整数 $a_i$ 和 $b_i$ 的形式描述一个区间。

输出格式

输出 $2M+1$ 行,依次包含范围 $0\cdots 2M$ 中的每一个 $k$ 的答案。

数据范围

  • 测试点 $1\sim 2$ 满足 $N\leq 100,M\leq 100$。
  • 测试点 $3\sim 5$ 满足 $N\leq 5000$。
  • 测试点 $6\sim 20$ 没有额外限制。

注意输出可能无法用 32 位整数型存储,你可能需要使用 64 位整数型(例如,C 或 C++ 中的 "long long")。

2 5
1 3
2 5
0
0
1
3
4
4
4
3
3
1
1