​题目传送门​​ 可以被90整除,如果存在这个数,这个数的尾数位肯定是0,那么除了尾数位前面的所有数位和是90/10=9的倍数,如果这个数存在数位5,就必须有9的倍数个5,因为这两个数互质

代码:

#include<bits/stdc++.h>
using namespace std;

int main(){

int n;
scanf("%d",&n);
int num0,num5;
num0=num5=0;
for(int i=1;i<=n;i++){

int val;
scanf("%d",&val);
if(val) num5++;
else num0++;
}
if(num0){

int ci=num5/9;
for(int i=1;i<=ci;i++) printf("555555555");
if(ci) for(int i=1;i<num0;i++) printf("0");
printf("0\n");
}
else printf("-1\n");
}