关注
第三题的一点思路,考试的时候想到用滑动窗口解了,愣是没滑出来,最后写了个暴搜只能过30%
考完就想明白咋写了😭
n, k = [int(i) for i in input().split()]
arr = [int(i) for i in input().split()]
strs = input()
def getm(num,m):
res = 0
while True:
if num//m == num/m:
res+=1
num//=m
else:
break
return res
res = float('inf')
l = 0
rcnt2 = 0
rcnt5 = 0
bcnt2 = 0
bcnt5 = 0
for r in range(len(strs)):
if strs[r] == 'R':
rcnt2 += getm(arr[r],2)
rcnt5 += getm(arr[r],5)
else:
bcnt2 += getm(arr[r], 2)
bcnt5 += getm(arr[r], 5)
while min(rcnt2,rcnt5) + min(bcnt2,bcnt5) >= k:
tmp2 = getm(arr[l],2)
tmp5 = getm(arr[l],5)
if strs[l] == "R":
rcnt2-=tmp2
rcnt5-=tmp5
else:
bcnt2-=tmp2
bcnt5-=tmp5
res = min(res,r-l+1)
l+=1
print(res)
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 你最近因为什么迷茫? #
11182次浏览 184人参与
# AI coding的好用工具分享 #
3261次浏览 101人参与
# 上班以后,你还有哪些坚持的爱好? #
1679次浏览 49人参与
# 实习怎么做才有更好的产出 #
2288次浏览 75人参与
# 你都在哪些场所面过试? #
4457次浏览 79人参与
# 实习生工资多少才算正常? #
3661次浏览 81人参与
# 你给AI提过哪些离谱的需求? #
1741次浏览 73人参与
# 实习心态崩了 #
100569次浏览 515人参与
# 找工作以来,你最看不惯__ #
2876次浏览 73人参与
# 领导做过最不靠谱的事 #
4889次浏览 87人参与
# 哪些公司开春招了? #
1958次浏览 29人参与
# 刚入职就____,这样正常吗? #
124536次浏览 665人参与
# 秋招有哪些公司要求提前实习 #
102798次浏览 545人参与
# 非技术岗投递进展 #
166666次浏览 1317人参与
# 新年的第一句祝福 #
53616次浏览 389人参与
# 华子oc时间线 #
1408298次浏览 6994人参与
# 当发现同事想辞职 #
13637次浏览 47人参与
# 华为保温 #
169699次浏览 642人参与
# 实习转正进行时 #
138802次浏览 897人参与
# 拿到offer之后,可以做些什么 #
85388次浏览 442人参与

查看2道真题和解析
顺丰集团工作强度 413人发布