#USACO2481. 牛奶交换

牛奶交换

题目描述

Farmer John 的 NN 头奶牛排成一圈,使得对于 1,2,,N11,2,…,N-1中的每个ii,奶牛ii右边的奶牛是奶牛i+1i+ 1,而奶牛 NN 右边的奶牛是奶牛 1。

第i头奶牛有一个容量为墪数 aia_i升的桶。所有桶初始时都是满的。

每一分钟,奶牛都会根据一个字符串 s1s2...sNs_1s_2...s_N 传递牛奶,该字符串仅由字符LR组成。

当第ii头奶牛至少有1升牛奶时,如果s[i]=L,她会将1升牛奶传递给她左边的奶牛,如果s[i]=R,则传递给右边的奶牛。

所有交换同时发生(即,如果一头奶牛的桶是满的,送出一升牛奶,但也收到一升,则她的牛奶量保持不变)。

如果此时一头奶牛的牛奶量超过 aia_i,则多余的牛奶会损失。

FJ 想要知道:经过 MM 分钟后,所有奶牛总共还余下多少牛奶?

输入格式

输入的第一行包含 NNMM

第二行包含一个字符串 s1s2...sNs_1s_2...s_N ,仅由字符LR组成,表示每头奶牛传递牛奶的方向。

第三行包含整数 a1,a2,,ana_1,a_2,···,a_n,为每个桶的容量。

输出

输出一个整数,为 MM 分钟后所有奶牛总共余下的牛奶量。

3 1
RRL
1 1 1
2

样例解释

奶牛 2 和 3 互相传递一升牛奶,因此她们的牛奶得以保留。当奶牛 1 将牛奶传递给奶牛 2 时,奶牛 的桶会溢出,从而一分钟后损失了一升牛奶。

5 20
LLLLL
3 3 2 3 3
14

样例解释

每头奶牛都将一升牛奶传递给左边的奶牛,并从右边的奶牛那里获得一升牛奶,因此无论经过多长时间所有牛奶都会被保留下来。

9 5
RRRLRRLLR
5 8 4 9 3 4 9 5 4
38

样例解释

初始时,共有 51 升牛奶。5 分钟后,奶牛3,6和7将分别损失5,3和5升牛奶。因此,总共还剩下 38 升牛奶。

样例解释

测试点4-8:N,M<1000N,M < 1000.

测试点9 -16:N2×105,1ai,M109N \leq2 \times 10^5,1 \leq a_i,M \leq 10^9