#P979. 区间划分

区间划分

题目描述

给定 nn 个连成一串的符号。符号只可能是 + 或者是 -。我们需要将这些符号划分成几个区间段落。每一段至少一个符号,至多 dd 个符号(dd 为一个给定的整数)。

在一个段落中,若减号数量大于或等于加号,则称这个段落是负能量的;否则,就是正能量的。

请问如何划分,才能让负能量的段落达到最少,输出这个最少值。

输入格式

  • 第一行:两个整数表示 nndd
  • 第二行:nn 个符号,以s1s2sns_1s_2\dots s_n表示

输出格式

  • 单个整数:表示答案。
10 3
---+-++-++
1

样例解释 1

{---}{+-+}{+-+}{+}

数据范围

  • 对于 30%30\% 的数据,1dn201\leq d \leq n\leq 20
  • 对于 60%60\% 的数据,1dn5,0001\leq d \leq n\leq 5,000
  • 对于 100%100\% 的数据,1dn300,0001\leq d \leq n\leq 300,000