题目背景
译自 Izborne Pripreme 2018 (Croatian IOI/CEOI Team Selection) D1T2。1s,1G。
关于题目名:原文如此(「题目」的克罗地亚语是「zadatak」)。
题目描述
定义长度均为 k 的数列 [a1,a2,…,ak] 和 [b1,b2,…,bk] 几乎相等,当且仅当存在恰好一个 1≤p≤k,使得 ap=bp。
定义长度均为 k 的数列 [a1,a2,…,ak] 和 [b1,b2,…,bk] 相似,当且仅当可以通过重排使得 a,b 几乎相等。
给定长度为 n 的数列 [a1,a2,…,an]。m 次询问,每次询问给定 l1,r1,l2,r2,问 [al1,al1+1,…,ar1] 与 [al2,al2+1,…,ar2] 是否相似。
输入格式
第一行,两个正整数 n,m。
第二行,n 个非负整数 a1,a2,…,an。
接下来 m 行,每行四个正整数 l1,r1,l2,r2,描述一次询问。保证 r1−l1=r2−l2。
输出格式
对于每个询问,输出一行:
如果答案为是的话,输出 DA(克罗地亚语「是」);
否则输出 NE(克罗地亚语「否」)。
6 4
1 3 2 3 1 2
1 1 2 2
2 3 3 4
2 3 4 5
1 3 2 4
DA
NE
DA
DA
10 5
3 3 3 1 2 2 1 2 2 1
2 3 5 6
9 10 5 6
5 6 4 5
5 8 3 6
3 7 5 9
NE
DA
DA
DA
NE
提示
对于 100% 的数据,保证:
- 1≤n,m≤105;
- 0≤ai≤109;
- 1≤l1≤r1≤n,1≤l2≤r2≤n;
- r1−l1=r2−l2。
子任务编号 |
n≤ |
m≤ |
ai≤ |
得分 |
1 |
1000 |
1000 |
109 |
10 |
2 |
5×104 |
5×104 |
30 |
15 |
3 |
105 |
104 |
109 |
30 |
4 |
105 |
45 |