// Arup Guha
// 7/16/2014
// Solution to SI@UCF Week 2 Contest Problem: Fruit Stand

import java.util.*;

public class fruit {

    public static void main(String[] args) {

        Scanner stdin = new Scanner(System.in);
        int numCases = stdin.nextInt();

        // Process each case.
        for (int loop=0; loop<numCases; loop++) {

            int n = stdin.nextInt();
            int[] arr = new int[n];
            int minFruit = 0, sum = 0;

            // Read in and solve min fruit needed.
            for (int i=0; i<n; i++) {

                // Process next number.
                arr[i] = stdin.nextInt();
                sum += arr[i];

                // To have enough fruit until day i, we need the ceiling of
                // average number of fruits per day.
                if ( (sum+i)/(i+1) > minFruit)
                    minFruit = (sum+i)/(i+1);

            }

            // Now resimulate with correct fruit value.
            sum = 0;
            int leftover = 0;
            for (int i=0; i<n; i++) {
                sum += arr[i];

                // Just see if we have more fruit leftover now than ever before...
                if ((i+1)*minFruit - sum > leftover)
                    leftover = (i+1)*minFruit - sum;
            }

            // Our solution.
            System.out.println(minFruit+" "+leftover);
        }
    }
}
