HXY玩卡片

题目描述

HXY得到了一些卡片,这些卡片上标有数字 0 或 5 。现在她可以选择其中一些卡片排成一列,使得排出的一列数字组成的数最大,且满足被 90 整除这个条件。同时,这个数必须为合法的某个非负整数,即不能含有前导 0 ,即 0 不能作为这串数的首位。但是特殊地,整数 0 满足条件。如果不能排出这样的数,输出“-1”。

输入格式

第一行,卡片的个数 n 。

第二行,分别给出了这 n 个数(只能为数字 5 或 0 )。

输出格式

仅一行,如果可以排出,则输出这个数。否则输出-1。

输入样例1

4
5 0 5 0

输出样例1

0

输入样例2

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

输出样例2

5555555550

输入样例3

2
5 5

输出样例3

-1
#include<iostream>
using namespace std;
int a[1001];
int main()
{
	int n,five=0,zero=0;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
	}
	for(int i=0;i<n;i++)
	{
		if(a[i]==5)
		{
			five++;
		}
		else if(a[i]==0)
		{
			zero++;
		}
	}
	if(five<9&&zero!=0)
	{
		cout<<"0"<<endl;
		exit(0);
	}
	else if((five<9&&zero==0)||zero==0)
	{
		cout<<"-1"<<endl;
		exit(0);
	}
	else if(five>=9&&zero!=0)
	{	
	    for(int i=0;i<five-five%9;i++)
	    {
	     	cout<<"5";
	    }
	    for(int i=0;i<zero;i++)
	    {
		    cout<<"0";
	    }
	}
	return 0;
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FG.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值