Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

CPPREA07 - Re-arrang Array 7

Cho mảng A[] gồm n số nguyên không âm. Hãy sắp đặt lại các phần tử trong mảng sao cho khi nối các số lại với nhau ta được một số lớn nhất.

Ví dụ với mảng A[] = {54, 546, 548, 60 } thực hiện theo nguyên tắc trên ta được số lớn nhất là 6054854654.

Input

Dòng đầu tiên đưa vào số lượng bộ test T.

Những dòng kế tiếp đưa vào T bộ test. Mỗi bộ test gồm hai dòng: dòng đầu tiên đưa vào n là số phần tử của mảng A[]; dòng kế tiếp đưa vào n số A[i] của mảng; các số được viết cách nhau một vài khoảng trống. 

T, n, A[i] thỏa mãn ràng buộc: 1≤ T ≤100; 1≤ n ≤105 ; 1≤ A[i] ≤105 ;

Output

Đưa ra kết quả mỗi test theo từng dòng.

Example

Input Output
2
4
54 546 548 60
8
1 34 3 98 9 76 45 4
6054854654
998764543431

Được gửi lên bởi:adm
Ngày:2019-10-25
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:C C++ 4.3.2 CPP CPP14

hide comments
2024-04-06 15:25:26
ko đc dùng string à :(((
2020-11-22 12:27:25
#include <iostream>
#include <algorithm>
using namespace std;

bool cmp(int a, int b)
{
int n=10, m=10;
while(a/n>0) n*=10;
while(b/m>0) m*=10;
return a*m+b>b*n+a;
}

int main()
{
int T;
cin>>T;
while(T--)
{
long n;
cin>>n;
long a[n];
for(long i=0; i<n; i++)
cin>>a[i];

sort(a, a+n, cmp);

for(long i=0; i<n; i++)
cout<<a[i];
cout<<endl;
}
return 0;
}
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.