#2586. [ABC281C] Circular Playlist

[ABC281C] Circular Playlist

题目描述

有一个由 NN 首歌曲组成的播放列表,每首歌的编号为 1, , N1,\ \dots,\ N
ii 首歌的时长为 AiA_i 秒。

播放列表播放时,会按照歌曲 1122、……、NN 的顺序播放。播放完第 NN 首歌后,会重新从第 11 首开始依次播放。歌曲不会在播放过程中被切换,只有在一首歌播放结束的瞬间,下一首歌才会开始播放。

现在想知道,从播放开始后的第 TT 秒时,正在播放的是哪一首歌?并且,从该首歌开始播放到当前已经过了多少秒?

注意,输入保证第 TT 秒不会恰好是某首歌曲结束的时刻。

输入格式

N N T T \\ A1 A_1 \ldots AN A_N

输出格式

请输出从播放列表开始播放后的第 TT 秒时:

  • 正在播放的歌曲编号(从 11NN
  • 以及该歌曲已经播放了多少秒

空格分隔两个整数。

3 600
180 240 120
1 60
3 281
94 94 94
3 93
10 5678912340
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000
6 678912340

提示

数据范围

  • 1  N  105 1\ \leq\ N\ \leq\ 10^5
  • 1  T  1018 1\ \leq\ T\ \leq\ 10^{18}
  • 1  Ai  109 1\ \leq\ A_i\ \leq\ 10^9

Sample Explanation 1

例如,播放过程如下所示(设:A1=180, A2=240, A3=120A_1 = 180,\ A_2 = 240,\ A_3 = 120):

  • 00 秒到 180180 秒:播放歌曲 11
  • 180180 秒到 420420 秒:播放歌曲 22
  • 420420 秒到 540540 秒:播放歌曲 33
  • 540540 秒到 720720 秒:重新播放歌曲 11
  • 720720 秒到 960960 秒:播放歌曲 22
  • \quad\vdots

所以,比如在 播放开始后的第 600600

  • 正在播放的是歌曲 11
  • 并且该歌曲已经播放了 6060