平衡字符串
题号:NC21840
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

有一个字符串S,由加号'+' 和 减号'-'组成

现在要反转一些字符(加号变减号,减号变加号)来使得至多有k个前缀是负平衡的

如果一个前缀的减号数量大于加号数量,我们称这个前缀是负平衡的

输入描述:

第一行输入一个字符串S ()
第二行输入一个整数k ()

输出描述:

输出一个整数
示例1

输入

复制
---
1

输出

复制
1
示例2

输入

复制
+-+-
0

输出

复制
0
示例3

输入

复制
-+-+---
2

输出

复制
1

备注:

子任务1:n <= 10
子任务2:n <= 20
子任务3:无限制