HDU 5055 Bob and math problem

#include <cstdio>
int t,n,a[10];
int main(){
    while(~scanf("%d",&n)){
        int flag=0;
        for(int i=0;i<10;i++)a[i]=0;
        for(int i=0;i<n;i++)scanf("%d",&t),a[t]++;
        if(n==1){printf("%d\n",t&1?t:-1);continue;}
        for(int i=1;i<10;i+=2)if(a[i]){flag=1;a[i]--;t=i;break;}
        if(flag==0){puts("-1");continue;}flag=0;
        for(int i=1;i<10;i++)if(a[i]>0)flag=1;
        if(flag==0){puts("-1");continue;}
        for(int i=9;i>=0;i--)while(a[i]>0)printf("%d",i),a[i]--;
        printf("%d\n",t);
    }return 0;
}
//注意n==1的情况
posted @ 2014-10-14 15:25  forever97  阅读(214)  评论(0编辑  收藏  举报