回答
Submission #612520 - AtCoder Regular Contest 047 | AtCoder
単にシミュレーションを行う.
読み取りをしていき,+ならタブの数を増やして,その時にクラッシュするタブの数ならカウントアップしてタブの数を1にして,-ならタブの数を減らしてって言う形でシミューレーションします.
本番は,最初のタブの数が1であるという条件を読み忘れており,通せませんでした.(そもそも終了5分前に「スマホで」問題を読んで「スマホで」書いたら当然事故った,まあコンテスト終了2分後に自分で気がついて通し直しましたが)
スマホで描いたクソcodeですが,貼っておきます.
n, l = map(int, input().split()) res, cnt = 0, 1 for c in list(input()): if c == "+": cnt += 1 if cnt > l: cnt = 1 res += 1 if c == "-": cnt -= 1 print(res)
11 / 300