atcoder#ARC150F. [ARC150F] Constant Sum Subsequence

[ARC150F] Constant Sum Subsequence

题目描述

長さが N2 N^2 の正整数列 A=(A1, A2, , AN2) A=(A_1,\ A_2,\ \dots,\ A_{N^2}) と正整数 S S があります。この正整数列については正整数 i (1 i  N2N) i\ (1\leq\ i\ \leq\ N^2-N) に対し Ai=Ai+N A_i=A_{i+N} が成り立ち、A1, A2, , AN A_1,\ A_2,\ \dots,\ A_N のみが入力で与えられます。

総和が S S であるような任意の正整数列 B B が正整数列 (A1, A2, , AL) (A_1,\ A_2,\ \dots,\ A_L) の(連続とは限らない)部分列となるような最小の整数 L L を求めてください。

この問題の制約のもとでそのような L L 1 1 つ以上存在することが示せます。

输入格式

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

N N S S A1 A_1 A2 A_2 \dots AN A_N

输出格式

答えを出力してください。

题目大意

有一个长度为 n2n^2 的序列 {ai}\{ a_i \} 以及一个整数 sumsum

对于 i[1,n2n]\forall i\in[1,n^2-n],这个序列满足 ai=ai+na_i=a_{i+n},在本题中只给出 nn 个数 {a1,,an}\{ a_1,\dots,a_n\}

现在要求你找到一个最小的整数 pp,使得所有满足 ibi=sum\sum_{i} b_i=sum 的序列 {bi}\{b_i\}{a1,,ap}\{a_1,\dots,a_p\} 的子序列。

6 4
1 1 2 1 4 3
9
14 5
1 1 1 2 3 1 2 4 5 1 1 2 3 1
11
19 10
1 6 2 7 4 8 5 9 1 10 4 1 3 1 3 2 2 2 1
39

提示

制約

  • 1  N  1.5 × 106 1\ \leq\ N\ \leq\ 1.5\ \times\ 10^6
  • 1  S  min(N,2 × 105) 1\ \leq\ S\ \leq\ \min(N,2\ \times\ 10^5)
  • 1  Ai  S 1\ \leq\ A_i\ \leq\ S
  • 任意の正整数 x (1 x  S) x\ (1\leq\ x\ \leq\ S) について、(A1, A2, , AN) (A_1,\ A_2,\ \dots,\ A_N) x x 1 1 つ以上含む
  • 入力される値はすべて整数

Sample Explanation 1

B B として考えるべきなのは $ B=(1,\ 1,\ 1,\ 1),\ (1,\ 1,\ 2),\ (1,\ 2,\ 1),\ (1,\ 3),\ (2,\ 1,\ 1),\ (2,\ 2),\ (3,\ 1),\ (4) $ です。 例えば L=8 L=8 とすると B=(2, 2) B=(2,\ 2) は $ (A_1,A_2,\ \dots,\ A_8)=(1,\ 1,\ 2,\ 1,\ 4,\ 3,\ 1,\ 1) $ の部分列となりません。 一方で L=9 L=9 とするとすべての B B が $ (A_1,A_2,\ \dots,\ A_9)=(1,\ 1,\ 2,\ 1,\ 4,\ 3,\ 1,\ 1,\ 2) $ の部分列となります。