#xx0. 重生之金币我又来了

重生之金币我又来了

题目描述:

在未来世界的星际联盟中,每位新兵都需要通过模拟训练关卡来完成基础考核。每通过一关,都会获得一定数量的金币作为奖励。

已知第 1 关奖励 1 枚金币,第 2 关奖励 3 枚,第 3 关奖励 6 枚,第 4 关奖励 10 枚,第 5 关奖励 15 枚……也就是说,每一关比前一关奖励更多,且这个规律一直持续。

你已经成功通过了前 N 关训练,现在你想知道,在这 N 关中,每次指定一段连续的关卡区间 [L, R],你一共获得了多少金币?

由于你需要多次查询,因此请你编写程序,快速地回答每一次的统计请求。


输入格式:

第一行包含两个整数 NQ,表示你总共通过了 N 关,以及你需要统计的查询次数 Q

接下来的 Q 行,每行包含两个整数 LR,表示一次统计的区间(从第 L 关到第 R 关,包含两端)。

  • 1 ≤ N ≤ 5×10^6
  • 1 ≤ Q ≤ 10^5
  • 1 ≤ L ≤ R ≤ N

输出格式:

输出 Q 行,每行一个整数,表示对应查询区间内获得的金币总数。


5 3
1 3
2 5
4 4
10
34
10
10 2
1 10
5 10
220
200