编程题
### 问题描述 给出一个长度为 $n$ 的非负整数序列 $a$,你需要处理 $q$ 组询问。每组询问有两个参数 $l,r$。你需要判断 $a[l] + a[l+1] + \dots + a[r]$ 是否等于 $a[l] \oplus a[l+1] \oplus \dots \oplus a[r]$,其中 $\oplus$ 表示异或运算。 ### 输入格式 第一行两个整数 $n,q \space (1 \leq n,q \leq 10^5)$,代表序列长度和询问个数。 接下来一行 $n$ 个整数 $a_i \space (1 \leq a_i \leq 10^9)$,代表序列的值。 接下来 $q$ 行,每行两个整数 $l,r \space (1 \leq l \leq r \leq n)$,代表询问的区间范围。 ### 输出格式 输出 $q$ 行,每行一个答案。如果该组询问对应的区间和等于区间异或和,输出 `YES`。否则输出 `NO`。请注意,你需要严格按照大写字母来输出。 ### 样例输入 ``` 10 10 1 3 4 24 2 4 15 8 1 9 1 5 3 4 2 4 6 7 8 8 1 9 3 4 2 8 1 2 7 10 ``` ### 样例输出 ``` NO YES YES NO YES NO YES NO NO NO ```
查看答案
赣ICP备20007335号-2