2023年的暑假,锐拓准备举办一个编程新兵训练营。新兵训练营将持续n天时间,锐拓会邀请一些讲师在训练营期间为学生们开展一系列讲座。
本着劳逸结合的原则,新兵训练营期间会组织短途旅游等一系列活动,显然在这些活动期间讲座是无法举办的。同时,为了确保学生们不会对学习编程感到厌倦,每天的讲座数量不应超过k1场,连续两天的讲座数量不应超过k2场。
你能计算一下在新兵训练营期间最多可以开展多少场讲座吗?
请注意,可能会有一些没有讲座的非游览日,也就是说,即使那天不是旅游活动日也可以不举行讲座。
第一行只有一个整数t(1≤t≤50):测试用例的数量。
接下来共2t行,每个测试用例2行:
第一行共三个整数n,k1和k2((1≤n≤5000; 1≤k1≤k2≤200000):n为训练营持续天数,k1为每天可以举办的讲座的最大场次数,k2为连续两天可以举办讲座的最大场次数。
第二行为一个长度为n,由0和1组成的字符串s(si=0表示第i天为旅游活动日,不安排讲座,si=1表示第i天为学习日,可以安排讲座)。
共t行,每个测试用例一行一个整数:可以安排讲座的最大场次数。