D - 可以帮学姐通关嘛(〃‘▽‘〃)

题目:

天气冷了。

wy学姐玩起了卡牌游戏,她遇到了一个特殊关卡。
在这个关卡中,她只有数字为0或数字为5的卡牌可以打出伤害(把这些卡片上的数字排列成一排即为造成的伤害值)。
Of course,这个特殊的关卡有一个特殊的大BOSS,只有造成90的倍数的伤害值才有效果,否则BOSS将直接免疫伤害值。

天气越来越冷了。

wy学姐不想思考,于是她随机选择了幸运的你,来帮她解决这个问题——手中摸到的牌能打出的最大伤害数是多少?
注意:她可以不把卡牌全部用完。

Input

第一行是一个整数 n (1 ≤ n ≤ 103).
第二行是 n 个整数 a1, a2, ..., an (ai = 0 or ai = 5). 数 ai 即 i-th 卡片上的数字.

Output

输出一个数——造成的最大伤害(90的倍数)。
如果手中的卡牌无法生成90倍数的伤害值,则输出-1.

Examples

Input

4
5 0 5 0

Output

0

Input

11
5 5 5 5 5 5 5 5 0 5 5

Output

5555555550

Note

在第一个测试中,您只能生成一个 90 的倍数 —— 0。

在第二个测试中,您可以生成数 5555555550,它是 90 的倍数。

题解:

即发现一些规律 即只有当5的个数是9的倍数的时候才可以打出伤害值

代码:

#include<iostream>
using namespace std;
int main()
{
    int n,i,n5=0,n0=0,a[1010],t;
   scanf("%d",&n);
    for(i=0;i<n;i++)
    {
      scanf("%d",&a[i]);
        if(a[i]==5)
        n5++;
        if(a[i]==0)
        n0++;
    }
    t=n5/9;
    while(t--&&n0)
    {
        cout<<555555555;
    }
    if(n5/9&&n0)
    {
    for(i=0;i<n0;i++)
    cout<<0;
    printf("\n");
    }
    else
    if(n0>0)
    cout<<0<<endl;
    else
    cout<<-1<<endl; 
    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值