Difference between max and min sum - C++

PHOTO EMBED

Mon Feb 17 2025 02:10:09 GMT+0000 (Coordinated Universal Time)

Saved by @Rohan@99

#include <iostream>
using namespace std;

void InsertionSort(int a[], int size)
{
  for(int i = 1; i < size; ++i)
  {
    int key = a[i];
    int j = i-1;
    
    while(j >= 0 && a[j] > key)
    {
      a[j+1] = a[j];
      --j;
    }
    
    a[j+1] = key;
  }
}

void PrintArray(int a[], int size)
{
  for(int i = 0; i < size; ++i)
  {
    cout << a[i] << " ";
  }
  cout << "\n";
}

int main() 
{
  int tc;
  cin >> tc;
  
  while(tc--)
  {
    int n, m;
    cin >> n; cin >> m;
    if(n-m < 0)
    {
      cout << "Invalid input!";
      break;
    }
    int a[n];
  
    for(int i = 0; i < n; ++i)
    {
      cin >> a[i];
    }
    
    InsertionSort(a, n);
    
    int num = n-m, maxSum = 0, minSum = 0;
    
    for(int i = 0; i < num; ++i)
      minSum += a[i];
      
    for(int i = n-1; i >= m; --i)
      maxSum += a[i];
      
    cout << maxSum - minSum << "\n";
  }
  
  return 0;
}
content_copyCOPY