CF632A Grandma Laura and Apples

题目描述

Laura 奶奶来到市场卖苹果。一天中她卖掉了所有带来的苹果。但因为奶奶年纪大了,她忘记了自己一开始带了多少苹果。 她清楚地记得自己有 $n$ 个买家,每个买家购买了当时手里剩下苹果的一半,并且如果当时苹果的数量是奇数,她还会送出半个苹果(作为礼物)给其中一些买家(如果购买时苹果数量为奇数),直到所有苹果卖完为止。 所以每个买家都拿走了一个正整数个苹果,但如果买家收到半个苹果作为礼物,他可能没付这一半个苹果的钱。 对于每个买家,奶奶都记得是否送出了半个苹果。每个苹果的价格为 $p$($p$ 是偶数)。 请计算奶奶一天结束后应收的钱数,以便检查是否有买家欺骗了她。

输入格式

第一行包含两个整数 $n$ 和 $p$($1 \leq n \leq 40, 2 \leq p \leq 1000$)——买家的数量和一个苹果的价格。保证 $p$ 是偶数。 接下来的 $n$ 行,每一行描述一个买家的情况。如果买家只买走了一半的苹果,输入 half;如果奶奶还送了他半个苹果,则输入 halfplus。 保证奶奶开始时至少有一个苹果,结束时没有苹果了。

输出格式

输出一个整数 $a$,表示奶奶一天结束后应收的钱数。 注意,答案可能很大,请使用 $64$ 位整数类型保存答案。在 C++ 中可以使用 long long 类型,在 Java 中可以使用 long 类型。

说明/提示

在第一个样例中,奶奶一开始有两个苹果,第一次她卖掉一个苹果,然后第二次她将第二个苹果的一半卖出,并将另一半作为礼物送给第二个买家。 由 ChatGPT 5 翻译