-
时间:2016-03-25 23:50:29 星期五
-
题目编号:[2016-03-26][codeforces][632][A][Grandma Laura and Apples]
-
题目大意:有n的客人,每个客人都来买一半的苹果,如果苹果为奇数,就把多出来的半个苹果送给客人,已知买个客人是否收到更多苹果,问总共应该收到多少元
-
分析:
- 最后剩下一个苹果的时候,客人只买半个苹果,送半个苹果,所以最后一个一定是plus,
- 直接计算所有苹果的数目,和赠送的苹果数目,求最后总值
#include <cstdio>
using namespace std;
typedef long long LL;
const int maxn = 50;
int a[maxn];
int main(){
int n,p;
char op[20];
scanf("%d%d",&n,&p);
for(int i = 0; i < n;++i){
scanf("%s",op);
a[i] = op[4] != ‘\0‘;
}
LL cnt = 0,bcnt = 0;
for(int i = n - 1;i >= 0 ;--i){
if(a[i]){
cnt = cnt * 2 + 1;
++bcnt;
}else{
cnt = cnt * 2;
}
}
printf("%I64d\n",cnt*p - bcnt * (p / 2));
return 0;
}
时间: 2024-11-05 16:36:00