求求了,c++;

蜗蜗国最近很流行一个游戏,名字叫做“蜗蜗荣耀”。在这个游戏里,有排位赛的机制。玩家一开始拥有一个 00 星账号,如果能够得到 5050 星,那么就意味着他(她)达到了最强的蜗蜗王者级别。

要如何得到星呢?要通过不断胜利来获取。规则如下:

如果连胜一场(比如只赢了一场就是连胜一场),则总共获得一颗星,如果连胜两场,第二场胜利可以获得 22 颗星,总共获得 11 + 22 = 33 颗星,如果连胜三场,则总共获得 11 + 22 + 33 = 66 颗星,如果有一次战败,则连胜状态就结束了。同样,如果连败也是会掉星的(丢失星星),如果连败一场,则总共丢掉 11 颗星,如果连败两场,第二场失败会丢掉 22 颗星,总共丢掉 11 + 22 = 33 颗星,如果连败三场,则总共丢掉 11 + 22 + 33 = 66颗星。但是如果已经没有星星了,也就不会丢失了,只会维持在00星状态。如果有一次获胜,则连败状态就结束了。

小蜗蜗最近和朋友打赌,自己能够达到蜗蜗王者。他总共打了 n� 场比赛,每场比赛的结果用 00 和 11 来表示, 00 表示败了, 11 表示胜了,请你帮他算一算,打完以后他是不是蜗蜗王者。如果是的话,请输出Yes,如果不是,请你计算出,假设他接下来每一场都是胜利的,那么至少还需要几场才能够达到蜗蜗王者,注意,连胜状态是持续的,例如打过的 n� 场中的倒数第二场是失败而最后一场是胜利,那么额外打的第一场会获得 22 颗星,因为这是连胜的第二场。

输入格式

第一行一个正整数 n�。

接下来一行,一共 n� 个数( 00 或者 11 ),中间用空格隔开,表示这 n� 场蜗蜗的胜败状态。

输出格式

一行, 如果达到了(最后星数 ≥50≥50)则为一个字符串Yes,否则为一个整数,表示蜗蜗至少还需要几场胜利才能够达到蜗蜗王者。

样例输入1
9
1 1 1 1 1 1 1 1 1
样例输出1
1
样例解释1

前面 99 场连胜总共获得的星星数量为 11 + 22 + …… + 99 = 4545 。没有达到蜗蜗王者。

接下来再获胜 11 场,则为连胜的第十场,获得 1010 颗星,总共有了 5555 颗星,超过了 5050 ,达到了蜗蜗王者。

样例输入2
16
1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0
样例输出2
Yes
样例解释2

最后有 5454 颗星,达到了蜗蜗王者。

数据范围

对于 100%100% 的数据,保证 1≤n≤50001≤�≤5000。

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值