链接:https://ac.nowcoder.com/acm/contest/910/G 来源:牛客网
小C手中有n张牌,每张牌上有一个一位数的数,这个数字不是0就是5。
小C从这些牌在抽出任意张(不能抽0张),排成一行就组成了一个数。
使得这个数尽可能大,而且可以被90整除。
注意:
1.这个数没有前导0,
2.小C不需要使用所有的牌。
示例1
复制
4 5 0 5 0复制
05的个数是9的倍数就可以被9整除
#include<bits/stdc++.h> using namespace std; int a[1005],n,c0,c5; int main() { cin>>n; for(int i=0; i<n; i++) { int x; cin>>x; if(x==0) c0++; else c5++; } int cnt=c5/9; if(cnt==0) { if(c0==0) cout<<"-1"; else cout<<'0'; } else { for(int i=1; i<=cnt*9; i++) cout<<'5'; for(int i=1; i<=c0; i++) cout<<'0'; } return 0; }