For partially right, I used brute force but it gave runtime error.Why?
CODE::
#include
#include
#include <string.h>
using namespace std;
string intToBinaryString( long long int n )
{
char bArray[ (sizeof( long long int ) * 1024) + 1 ];
long long int index = sizeof( long long int ) * 1024;
char temp =0;
bArray[ index ] = '\0';
do{
temp = (n & 1);
temp = temp + '0';
bArray[ --index ] = temp;
}while (n >>= 1);
return string( bArray + index );
}
long long int BinaryConcatenation(long long int n1,long long int n2)
{
std::string bString1 = intToBinaryString(n1);
std::string bString2 = intToBinaryString(n2);
string binX = bString1.c_str();
string binY = bString2.c_str();
//cout<<binX<<endl<<binY<<endl;
string binXplusY = binX + binY;
string binYplusX = binY + binX;
//cout<<binXplusY<<endl<<binYplusX<<endl;
long long int XplusY = 0, YplusX=0;
XplusY = std :: stoi(binXplusY, 0, 2);
YplusX = std :: stoi(binYplusX, 0, 2);
//cout<<XplusY<<endl<<YplusX<<endl;
long long int restemp = abs(XplusY - YplusX);
return restemp;
}
int main(){
long long int t;
cin>>t;
while(t–)
{
long long int m,max=0;
cin>>m;
long long int arr[m];
for(long long int i=0;i<m;i++)
cin>>arr[i];
for(long long int i=0;i<m-1;i++)
for(long long int j=i+1;j<m;j++)
{
long long int res1 = BinaryConcatenation(arr[i],arr[j]);
if(res1 > max)
max=res1;
}
cout<<max<<endl;
}
}
KINDLY help where i am getting wrong.