天气预报
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述


最近天上总会莫名其妙地下箭毒蛙,这太危险了,因此他只能在晴天出门,下箭毒蛙的日子就只能待在家休息,因此他查了查天气预报(),未来n天内的天气结果可以用一个长度为n的字符串表示,其中0表示晴朗,1表示会下箭毒蛙。Komorebi希望在这n天中选择的一段时间,也可以一天都不选,使得他在这段时间内至少可以出去玩a天,并且至少在家休息b天。
那么他一共有几种选法呢?

输入描述:

第一行三个整数n,a,b,分别表示天数,至少要出去玩的天数以及至少要休息的天数。
第二行一个长度为n的01串,表示天气预报的结果。

输出描述:

一个整数,表示Komorebi的选法种数。
示例1

输入

复制
5 1 1
01010

输出

复制
10

说明

可选的方案有:[1,2],[2,3],[3,4],[4,5],[1,3],[2,4],[3,5],[1,4],[2,5],[1,5]。
示例2

输入

复制
5 3 2
01010

输出

复制
1

说明

可选的方案有:[1,5]。

备注:


Komorebi在下箭毒蛙的天气出门可能就会是这样