CF1073D Berland Fair

题目描述

第 XXI 届 Berland 年度集市即将到来!按照传统,集市由 $n$ 个摊位组成,这些摊位按顺时针方向围成一个圆圈。摊位编号为 $1$ 到 $n$,其中 $n$ 号摊位与 $1$ 号摊位相邻。第 $i$ 个摊位每颗糖果售价为 $a_i$ 布尔币,每个摊位的糖果供应无限。 Polycarp 决定在集市上最多花费 $T$ 布尔币。但他有一套逛摊位的计划: - 首先,他会访问编号为 $1$ 的摊位; - 如果他有足够的钱恰好买下当前摊位的一颗糖果,他会立刻购买; - 然后,无论是否买到糖果,他都会顺时针前往下一个摊位。 由于 Polycarp 的钱是有限的,这一过程会在他无法在任何摊位买到糖果时结束。 请计算 Polycarp 最终能买到多少颗糖果。

输入格式

第一行包含两个整数 $n$ 和 $T$($1 \le n \le 2 \times 10^5$,$1 \le T \le 10^{18}$),分别表示摊位数量和 Polycarp 初始拥有的布尔币数量。 第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le 10^9$),表示第 $i$ 个摊位每颗糖果的价格。

输出格式

输出一个整数,表示 Polycarp 能买到的糖果总数。

说明/提示

我们来看第一个样例。以下是 Polycarp 在钱花光前的行动过程: 1. 摊位 $1$,买糖果,花费 $5$,$T = 33$; 2. 摊位 $2$,买糖果,花费 $2$,$T = 31$; 3. 摊位 $3$,买糖果,花费 $5$,$T = 26$; 4. 摊位 $1$,买糖果,花费 $5$,$T = 21$; 5. 摊位 $2$,买糖果,花费 $2$,$T = 19$; 6. 摊位 $3$,买糖果,花费 $5$,$T = 14$; 7. 摊位 $1$,买糖果,花费 $5$,$T = 9$; 8. 摊位 $2$,买糖果,花费 $2$,$T = 7$; 9. 摊位 $3$,买糖果,花费 $5$,$T = 2$; 10. 摊位 $1$,钱不够,无法买糖果; 11. 摊位 $2$,买糖果,花费 $2$,$T = 0$。 之后无法再买到糖果。总共买了 $10$ 颗糖果。 在第二个样例中,最后 Polycarp 剩下 $1$ 布尔币,无法再买到任何糖果。 由 ChatGPT 4.1 翻译