Help me in solving LARGESECOND problem

My issue

why am I getting run time error :

My code

#include <iostream>
using namespace std;

int main()
{
    int t;
    cin >> t;
    if(t<=1000){
    while (t--)
    {
        int n;
        
    cin>>n;
    if(n>=2 && n<=100000){
        int arr[n];
        for (int i = 0; i < n; i++)
        {
            cin >> arr[i];
        }

        for (int i = 0; i < n; i++)
        {
            for (int j = i; j < n; j++)
            {
                if (arr[i] > arr[j])
                {
                    int tmp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = tmp;
                }
                
            }
            
        }
        int sum=0;
        for(int i =n-1;i>=0;i--){
            if(arr[n-1]!=arr[i]){
                sum=arr[n-1]+arr[i];
              break;
            }else{
                cout<<"";
            }
        }
        cout<<sum<<endl;
    }
    }
}
    return 0;
}

Learning course: Arrays using C++
Problem Link: Largest and Second Largest Practice Problem in - CodeChef

@bee_2023014
u have to do it simply like this

#include <iostream>
using namespace std;

int main() {
	// your code goes here
	int t;
	cin>>t;
	while(t--)
	{
	    int n;
	    cin>>n;
	    int a[n];
	    int mx1=0,mx2=0;
	    for(int i=0;i<n;i++)
	    {
	        cin>>a[i];
	        mx1=max(mx1,a[i]);
	    }
	    for(int i=0;i<n;i++)
	    {
	        if(a[i]!=mx1)
	        mx2=max(mx2,a[i]);
	    }
	    cout<<mx1+mx2<<endl;
	}
	return 0;
}