## DMOPC '19 Contest 1 P0 - Range Finding

View as PDF

Points: 3
Time limit: 3.0s
Memory limit: 64M
C# 128M
Java 128M
Python 128M

Author:
Problem type

You are given numbers, . Output the range of this list. The range of a list of numbers is the difference between the largest and smallest values in this list.

In all tests,

#### Input Specifications

The first line contains one number, .
The second line contains spaced integers, , the numbers in this list.

#### Output Specifications

On one line, output the range of the numbers.

#### Sample Input

10
9 2 9 6 8 7 1 3 9 6

#### Sample Output

8

The main issue is not about arrays, but rather the length of the input. The entire line is read as a string, which is fairly large (around 12 million characters long) and since this string is probably copied a few times, this can easily go over the memory limit (at the time of this post, it is 64MB). The solution is to not actually read the entire string in the input. This can be done with Console.Read() which only reads a single character at a time. You will then have to parse the characters into integers yourself.