Problem:
MathJax.Hub.Config({ tex2jax: { inlineMath: [["$","$"], ["\\(","\\)"]], processEscapes: true }});

Min, Max and Sum

Write a program which reads a sequence of $n$ integers $a_i (i = 1, 2, ... n)$, and prints the minimum value, maximum value and sum of the sequence.

Input

In the first line, an integer $n$ is given. In the next line, $n$ integers $a_i$ are given in a line.

Output

Print the minimum value, maximum value and sum in a line. Put a single space between the values.

Constraints

$0 < n \leq 10000$

$-1000000 \leq a_i \leq 1000000$

Sample Input

5
10 1 5 4 17

Sample Output

1 17 37

Solution in C (judge verdict: Accepted)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void) {
	char ninput[7];
	char *ainput;
	int n;
	int *numbers;
	int i;
	int j = 1;
	int temp;
	long int total = 0;
	
	fgets(ninput, sizeof(ainput), stdin);
	n = atoi(ninput);
	
	ainput = (char *)malloc(sizeof(char) * n * 9 + 1);
	numbers = malloc(sizeof(int) * n);
	
	fgets(ainput, sizeof(char) * n * 9 + 1, stdin);
	numbers[0] = atoi(strtok(ainput, " "));
	
	for (i = 1; i < n; i++)
		numbers[i] = atoi(strtok(NULL, " "));
	
	for (j = 1; j < n; j++){
		for (i = 0; i < (n - j); i++){
			if (numbers[i] > numbers[i + 1]){
				temp = numbers[i];
				numbers[i] = numbers[i + 1];
				numbers[i + 1] = temp;
			}
		}
	}
	
	for (i = 0; i < n; i++){
		total += numbers[i];
	}
	
	printf("%d %d %ld\n", numbers[0], numbers[n - 1], total);
	
	
	return 0;
}