100 atcoder#ABC220C. [ABC220C] Long Sequence

[ABC220C] Long Sequence

题目描述

長さ N N の正整数のみからなる数列 A=(A1,,AN) A=(A_1,\dots,A_N) があります。
A A 10100 10^{100} 回連結した数列を数列 B B とします。

B B の項を前から順に足したとき、和が初めて X X を超えるのは何項目まで足したときですか?
すなわち、以下の式を満たす最小の整数 k k を求めてください。

i=1k Bi > X \displaystyle{\sum_{i=1}^{k}\ B_i\ \gt\ X}

输入格式

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

N N A1 A_1 \ldots AN A_N X X

输出格式

答えを出力せよ。

题目大意

有一个长度为N N 的正整数数组A=(A1,A2,A3,,An)A=(A_1, A_2,A_3,\dots,A_n). 将A数组复制1010010^{100}份,得到数组B B 。 将数组B B 从左到右依次累加,问第一次超过X X 是在哪个位置? 形式化的描述这个问题如下: 求满足下面条件的最小的k k 值。 i=1kBi>X \sum\limits_{i=1}^kB_i > X

3
3 5 2
26
8
4
12 34 56 78
1000
23

提示

制約

  • 1  N  105 1\ \leq\ N\ \leq\ 10^5
  • 1  Ai  109 1\ \leq\ A_i\ \leq\ 10^9
  • 1  X  1018 1\ \leq\ X\ \leq\ 10^{18}
  • 入力は全て整数

Sample Explanation 1

B=(3,5,2,3,5,2,3,5,2,) B=(3,5,2,3,5,2,3,5,2,\dots) です。 $ \displaystyle{\sum_{i=1}^{8}\ B_i\ =\ 28\ \gt\ 26} $ であり、k k 7 7 以下のとき条件を満たさないので、8 8 が答えです。