Form biggest number

i tried solving it using a string array, but getting WA
here’s my code:

include<bits/stdc++.h>

using namespace std;

bool cmp(string s1,string s2)
{
return s1>s2;
}
int main()
{

ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin>>t;
while(t–)
{
int n;
cin>>n;
string a[n];
for(int i=0;i<n;i++)
cin>>a[i];

sort(a,a+n,cmp);
for(int i=0;i<n;i++)
cout<<a[i];

}
return 0;

}

@rockstarpkm
hello Praashant,
your cmp function is wrong .
for ex-> for input 2 21 ur code will output 212 but actual output should be 221.

replace return s1 > s2 with return s1+s2 > s2+s1 it will work fine

1 Like

still getting WA, but trying various inputs and getting correct answer
code-
#include<bits/stdc++.h>

using namespace std;

bool cmp(string s1,string s2)
{
return s1+s2>s2+s1;
}
int main()
{

ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin>>t;
while(t–)
{
int n;
cin>>n;
string a[n];
for(int i=0;i<n;i++)
cin>>a[i];

sort(a,a+n,cmp);
for(int i=0;i<n;i++)
cout<<a[i];

}
return 0;

}

@rockstarpkm
print output for each testcases in different line