CF962B.Students in Railway Carriage

普及-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There are nn consecutive seat places in a railway carriage. Each place is either empty or occupied by a passenger.

The university team for the Olympiad consists of aa student-programmers and bb student-athletes. Determine the largest number of students from all a+ba+b students, which you can put in the railway carriage so that:

  • no student-programmer is sitting next to the student-programmer;
  • and no student-athlete is sitting next to the student-athlete.

In the other words, there should not be two consecutive (adjacent) places where two student-athletes or two student-programmers are sitting.

Consider that initially occupied seat places are occupied by jury members (who obviously are not students at all).

铁路车厢中有 nn 个连续的座位。每个座位要么为空,要么已被一名乘客占据。

奥林匹克竞赛的大学代表队由 aa 名学生程序员和 bb 名学生运动员组成。请确定:在满足以下条件的前提下,最多能在车厢中安排多少名来自这全部 a+ba+b 名学生的成员:

  • 任意两名学生程序员不能相邻而坐;
  • 任意两名学生运动员不能相邻而坐。

换言之,在所有座位中,不能存在两个相邻(即紧挨着)的座位,其上均坐着学生运动员,也不能存在两个相邻的座位,其上均坐着学生程序员。

注意:初始已被占据的座位上坐的是裁判员(显然他们完全不是学生)。

输入格式

The first line contain three integers nn, aa and bb (1≤n≤2⋅1051 \le n \le 2\cdot10^{5}, 0≤a,b≤2⋅1050 \le a, b \le 2\cdot10^{5}, a+b>0a + b \gt 0) — total number of seat places in the railway carriage, the number of student-programmers and the number of student-athletes.

The second line contains a string with length nn, consisting of characters "." and "*". The dot means that the corresponding place is empty. The asterisk means that the corresponding place is occupied by the jury member.

第一行包含三个整数 nn、aa 和 bb(1≤n≤2⋅1051 \le n \le 2\cdot10^{5},0≤a,b≤2⋅1050 \le a, b \le 2\cdot10^{5},a+b>0a + b \gt 0)—— 分别表示火车车厢中的总座位数、学生程序员人数和学生运动员人数。

第二行包含一个长度为 nn 的字符串,由字符 “.” 和 “*” 组成。其中,“.” 表示对应位置为空座,“*” 表示对应位置被评委占用。

输出格式

Print the largest number of students, which you can put in the railway carriage so that no student-programmer is sitting next to a student-programmer and no student-athlete is sitting next to a student-athlete.

输出最多可以安排在火车车厢中的学生人数,使得任意两名编程学生不相邻,且任意两名运动学生也不相邻。

输入输出样例

  • 输入#1

    5 1 1
    *...*

    输出#1

    2
  • 输入#2

    6 2 3
    *...*.

    输出#2

    4
  • 输入#3

    11 3 10
    .*....**.*.

    输出#3

    7
  • 输入#4

    3 2 3
    ***

    输出#4

    0

说明/提示

In the first example you can put all student, for example, in the following way: *.AB*

In the second example you can put four students, for example, in the following way: *BAB*B

In the third example you can put seven students, for example, in the following way: B*ABAB**A*B

The letter A means a student-programmer, and the letter B — student-athlete.

在第一个例子中,你可以将所有学生按如下方式安排:*.AB*

在第二个例子中,你可以安排四名学生,例如按如下方式:*BAB*B

在第三个例子中,你可以安排七名学生,例如按如下方式:B*ABAB**A*B

字母 A 表示编程方向的学生,字母 B 表示体育方向的学生。

输入解题思路,AI测评打分。不知道怎么写?

首页