关键:贪心,找到排序的关键点
#define LOCAL
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <string>
using namespace std;
string a[10010];
bool cmp(string a,string b){
return a+b<b+a;
}
int main()
{
#ifdef LOCAL
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
#endif // LOCAL
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n,cmp);
string ans;
for(int i=0;i<n;i++){
ans+=a[i];
}
while(ans.size()!=0&&ans[0]==0){
ans.erase(ans.begin());
}
if(ans.size()==0) cout<<0;
else cout<<ans;
return 0;
}