问题转化
包裹从 1 号货台出发,沿顺时针方向移动。记录从货台 1 到货台 i+1(若 i=n 则回到货台 1)的累计时间:
令前缀和 pre[0]=0,pre[i]=∑j=1itj(1≤i≤n)。
则 pre[n] 为一圈的总时间,包裹的运动具有周期性,每经过 pre[n] 时间会回到 1 号货台。
对于任意时刻 T,可以先求出其在最后一圈内的剩余时间 x=Tmodpre[n]。
判断包裹位置
一条圆形传送带上依次设有 n 个货台,按顺时针顺序编号为 1 到 n。一个包裹从 1 号货台出发,沿顺时针方向移动:从货台 i 到货台 i+1 需要花费 ti 单位时间,特别地,从货台 n 移动到下一个货台(即 1 号货台)也需要相应时间 tn。包裹在移动过程中,如果未到达下一个货台,则认为它最近一次停留过的货台是出发的那个货台;一旦到达新的货台,则更新最近停留的货台。
现在有多次查询,每次给出一个时刻 T,请你计算在该时刻包裹最近一次停留过的货台编号。
货台数量 n 与查询次数 Q 均不超过 105,每个移动时间 ti 为不超过 104 的正整数,查询时刻 T 为不超过 109 的正整数。
第一行包含两个整数 n 和 Q,表示货台的数量和查询的次数。 第二行包含 n 个整数 t1,t2,…,tn,分别表示从货台 i 移动到下一个货台所需的时间。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册