题目描述
设有 n 个正整数 a1…an,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。
输入描述
第一行有一个整数,表示数字个数 n。
第二行有 n 个整数,表示给出的 n 个整数 ai 。
其中, 1≤n≤20,1≤ai≤10^9。
输出描述
输出一个正整数,表示最大的整数
输入输出样例
示例 1
输入
3
13 312 343
输出
34331213
示例 2
输入
4
7 13 4 246
输出
7424613
运行限制
最大运行时间:1s
最大运行内存: 128M
#include <bits/stdc++.h>
using namespace std;
string a[25];
bool cmp(string x,string y)
{
return x+y>y+x;
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;i++)
{
cout<<a[i];
}
return 0;
}