310379: CF1824D. LuoTianyi and the Function

Memory Limit:1024 MB Time Limit:7 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

D. LuoTianyi and the Functiontime limit per test7 secondsmemory limit per test1024 megabytesinputstandard inputoutputstandard output

LuoTianyi gives you an array $a$ of $n$ integers and the index begins from $1$.

Define $g(i,j)$ as follows:

  • $g(i,j)$ is the largest integer $x$ that satisfies $\{a_p:i\le p\le j\}\subseteq\{a_q:x\le q\le j\}$ while $i \le j$;
  • and $g(i,j)=0$ while $i>j$.

There are $q$ queries. For each query you are given four integers $l,r,x,y$, you need to calculate $\sum\limits_{i=l}^{r}\sum\limits_{j=x}^{y}g(i,j)$.

Input

The first line contains two integers $n$ and $q$ ($1\le n,q\le 10^6$) — the length of the array $a$ and the number of queries.

The second line contains $n$ integers $a_1,a_2,\ldots,a_n$ ($1\le a_i\le n$) — the elements of the array $a$.

Next $q$ lines describe a query. The $i$-th line contains four integers $l,r,x,y$ ($1\le l\le r\le n, 1\le x\le y\le n$) — the integers in the $i$-th query.

Output

Print $q$ lines where $i$-th line contains one integer — the answer for the $i$-th query.

ExamplesInput
6 4
1 2 2 1 3 4
1 1 4 5
2 3 3 3
3 6 1 2
6 6 6 6
Output
6
6
0
6
Input
10 5
10 2 8 10 9 8 2 1 1 8
1 1 10 10
2 2 3 3
6 6 6 6
1 1 4 5
4 8 4 8
Output
4
2
6
4
80
Note

In the first example:

In the first query, the answer is $g(1,4)+g(1,5)=3+3=6$.

$x=1,2,3$ can satisfies $\{a_p:1\le p\le 4\}\subseteq\{a_q:x\le q\le 4\}$, $3$ is the largest integer so $g(1,4)=3$.

In the second query, the answer is $g(2,3)+g(3,3)=3+3=6$.

In the third query, the answer is $0$, because all $i > j$ and $g(i,j)=0$.

In the fourth query, the answer is $g(6,6)=6$.

In the second example:

In the second query, the answer is $g(2,3)=2$.

In the fourth query, the answer is $g(1,4)+g(1,5)=2+2=4$.

Input

题意翻译

Feyn 给了你一个长度为 $n$ 的整数数组 $a$,下标由 $1$ 开始。 用以下方式定义函数 $g(i,j)$: + 当 $i\le j$ 时,$g(i,j)$ 是满足 $ \{a_p:i\le p\le j\}\subseteq\{a_q:x\le q\le j\} $ 的最大整数 $x$; + 否则 $g(i,j)=0$。 $q$ 次询问,每次给定 $l,r,x,y$,请求出 $\sum\limits_{i=l}^r\sum\limits_{j=x}^y g(i,j)$ 的值。 (translated by 342873)

Output

洛天依给你一个由n个整数组成的数组a,数组的索引从1开始。

定义g(i,j)如下:

- g(i,j)是满足{i≤p≤j}⊆{x≤q≤j}的最大整数x,同时i≤j;
- 当i>j时,g(i,j)=0。

有q个查询。对于每个查询,你会得到四个整数l,r,x,y,你需要计算∑i=lri=jxg(i,j)。

输入数据格式:

第一行包含两个整数n和q(1≤n,q≤106)——数组a的长度和查询的数量。

第二行包含n个整数a1,a2,…,an(1≤ai≤n)——数组a的元素。

接下来的q行描述一个查询。第i行包含四个整数l,r,x,y(1≤l≤r≤n,1≤x≤y≤n)——第i个查询中的整数。

输出数据格式:

打印q行,其中第i行包含一个整数——第i个查询的答案。

示例:

输入:

6 4
1 2 2 1 3 4
1 1 4 5
2 3 3 3
3 6 1 2
6 6 6 6

输出:

6
6
0
6

说明:

在第一个例子中:

第一个查询的答案是g(1,4)+g(1,5)=3+3=6。

x=1,2,3可以满足{i≤p≤4}⊆{x≤q≤4},3是最大的整数,所以g(1,4)=3。

第二个查询的答案是g(2,3)+g(3,3)=3+3=6。

第三个查询的答案是0,因为所有的i>j,所以g(i,j)=0。

第四个查询的答案是g(6,6)=6。

第二个例子:

第二个查询的答案是g(2,3)=2。

第四个查询的答案是g(1,4)+g(1,5)=2+2=4。洛天依给你一个由n个整数组成的数组a,数组的索引从1开始。 定义g(i,j)如下: - g(i,j)是满足{i≤p≤j}⊆{x≤q≤j}的最大整数x,同时i≤j; - 当i>j时,g(i,j)=0。 有q个查询。对于每个查询,你会得到四个整数l,r,x,y,你需要计算∑i=lri=jxg(i,j)。 输入数据格式: 第一行包含两个整数n和q(1≤n,q≤106)——数组a的长度和查询的数量。 第二行包含n个整数a1,a2,…,an(1≤ai≤n)——数组a的元素。 接下来的q行描述一个查询。第i行包含四个整数l,r,x,y(1≤l≤r≤n,1≤x≤y≤n)——第i个查询中的整数。 输出数据格式: 打印q行,其中第i行包含一个整数——第i个查询的答案。 示例: 输入: 6 4 1 2 2 1 3 4 1 1 4 5 2 3 3 3 3 6 1 2 6 6 6 6 输出: 6 6 0 6 说明: 在第一个例子中: 第一个查询的答案是g(1,4)+g(1,5)=3+3=6。 x=1,2,3可以满足{i≤p≤4}⊆{x≤q≤4},3是最大的整数,所以g(1,4)=3。 第二个查询的答案是g(2,3)+g(3,3)=3+3=6。 第三个查询的答案是0,因为所有的i>j,所以g(i,j)=0。 第四个查询的答案是g(6,6)=6。 第二个例子: 第二个查询的答案是g(2,3)=2。 第四个查询的答案是g(1,4)+g(1,5)=2+2=4。

加入题单

上一题 下一题 算法标签: