#P1018. Problem 2. Milk Exchange
Problem 2. Milk Exchange
当前没有测试数据。
一、题目名称
牛奶交换(Milk Exchange)
二、题目描述
农夫约翰(Farmer John)的()头奶牛围成一个圈,对于中的每个,奶牛右边的奶牛是,奶牛右边的奶牛是。第头奶牛有一个容量为整数()升的桶。所有桶最初都是满的。
每分钟,奶牛们根据一个仅由字符'L'和'R'组成的字符串交换牛奶。如果第头奶牛至少有升牛奶,当'L'时,她会将升牛奶传递给她左边的奶牛;当'R'时,她会将升牛奶传递给她右边的奶牛。所有交换同时发生(即,如果一头奶牛有一个满桶,但送出升牛奶同时也收到升牛奶,她的牛奶量保持不变)。如果一头奶牛的总牛奶量最终超过,那么多余的牛奶将流失。
农夫约翰想知道:在分钟()后,所有奶牛剩余的牛奶总量是多少?
三、输入格式(从终端/标准输入读取)
- 第一行包含和。
- 第二行包含一个仅由字符'L'或'R'组成的字符串,表示每头奶牛传递牛奶的方向。
- 第三行包含整数,即每个桶的容量。
四、输出格式(打印输出到终端/标准输出)
输出一个整数,即分钟后所有奶牛的牛奶总量。
注意,此问题中涉及的大整数可能需要使用64位整数数据类型(例如,C/C++中的“long long”)。
五、样例输入及输出
样例输入1
3 1
RRL
1 1 1
样例输出1
2
解释:奶牛和相互传递升牛奶,所以它们的牛奶量保持不变。当奶牛将牛奶传递给奶牛时,奶牛的桶溢出,一分钟后损失升牛奶。
样例输入2
5 20
LLLLL
3 3 2 3 3
样例输出2
14
解释:每头奶牛都将升牛奶传递给左边的奶牛并从右边的奶牛获得升牛奶,所以无论经过多少时间,所有牛奶都得以保留。
样例输入3
9 5
RRRLRRLLR
5 8 4 9 3 4 9 5 4
样例输出3
38
解释:最初,总共有升牛奶。分钟后,奶牛、和分别损失、和升牛奶。因此,总共剩余升牛奶。
六、评分规则
- 输入4 - 8:。
- 输入9 - 16:无其他额外约束。
题目来源:Chongtian Ma,Alex Liang。