#3047. [ABC265D] Iroha and Haiku

[ABC265D] Iroha and Haiku

[ABC265D] Iroha and Haiku (New ABC Edition)

题面翻译

有一个长度为 NN 的数列A=(A0,…,AN−1)A=(A_0,\ldots,A _{N-1}),

判断有满足以下所有条件的整数 (x,y,z,w)(x,y,z,w) 是否存在

  • 0≤x<y<z<w≤N0\leq x < y < z < w \le N
  • Ax+Ax+1+⋯+Ay−1=PA_x+A_{x+1}+\cdots+A_{y-1} = P
  • Ay+Ay+1+⋯+Az−1=QA_y+A_{y+1}+\cdots+A_{z-1}= Q
  • Az+Az+1+⋯+Aw−1=RA_z+A_{z+1}+\cdots+A_{w-1}=R

数据范围:

  • 3≤N≤2×1053\le N \le 2 \times10^5
  • 1≤Ai≤1091\le A_i \le 10^9
  • 1≤P,Q,R≤10151 \le P,Q,R \le 10^{15}

题目描述

長さ N N の数列 A=(A0,…,AN−1) A=(A_0,\ldots,A_{N-1}) があります。 次の条件を全て満たす整数の組 (x,y,z,w) (x,y,z,w) が存在するか判定してください。

  • 0 ≤ x < y < z < w ≤ N 0\ \leq\ x\ <\ y\ <\ z\ <\ w\ \leq\ N
  • Ax + Ax+1 + … + Ay−1 = P A_x\ +\ A_{x+1}\ +\ \ldots\ +\ A_{y-1}\ =\ P
  • Ay + Ay+1 + … + Az−1 = Q A_y\ +\ A_{y+1}\ +\ \ldots\ +\ A_{z-1}\ =\ Q
  • Az + Az+1 + … + Aw−1 = R A_z\ +\ A_{z+1}\ +\ \ldots\ +\ A_{w-1}\ =\ R

输入格式

入力は以下の形式で標準入力から与えられる。

N N P P Q Q R R A0 A_0 A1 A_1 … \ldots AN−1 A_{N-1}

输出格式

条件を満たす組が存在するなら Yes、存在しないなら No を出力せよ。

样例 #1

样例输入 #1

10 5 7 5
1 3 2 2 2 3 1 4 3 2

样例输出 #1

Yes

样例 #2

样例输入 #2

9 100 101 100
31 41 59 26 53 58 97 93 23

样例输出 #2

No

样例 #3

样例输入 #3

7 1 1 1
1 1 1 1 1 1 1

样例输出 #3

Yes

提示

制約

  • 3 ≤ N ≤ 2× 105 3\ \leq\ N\ \leq\ 2\times\ 10^5
  • 1 ≤ Ai ≤ 109 1\ \leq\ A_i\ \leq\ 10^9
  • 1 ≤ P,Q,R ≤ 1015 1\ \leq\ P,Q,R\ \leq\ 10^{15}
  • 入力に含まれる値は全て整数である

Sample Explanation 1

(x,y,z,w)=(1,3,6,8) (x,y,z,w)=(1,3,6,8) が条件を満たします。