Masala #MVDDWFG7OD
Язык Foo
Ниже вам будет приведен псевдокод некоторой функции Foo. Вам нужно понять, как работает эта функция, и лучше ее реализовать.
function Foo(array_of_ints a): // input parameters: array of integers
result = 0
while size(a) > 2: // as long as the array length is at least two elements
sort(a) // sort the array in ascending order
n = size(a)
x = a[0] + a[n - 2]
result += x // add x to the accumulated result
delete(a, n-2) // delete element by index (n-2)
delete(a, 0) // delete element at index 0
add(a, x) // add element by value x to end of array
return sum(a) + result // add the sum of elements to the accumulated result
Обратите внимание, что этот псевдокод использует 0-индексацию массива.
Первая строка входных данных содержит одно целое число \(n\) (1 ≤ \(n\) ≤ 300 000) — количество элементов в массиве \(a\).
Вторая строка содержит \(n\) целых чисел \(a_i\) (0 ≤ \(a_i\) ≤ 1 000 000). Числа в строке разделены одинарными пробелами.
Выведите одно целое число - ответ на задачу.
# | input.txt | output.txt |
---|---|---|
1 |
1 362018 |
362018 |
2 |
3 3 6 2018 |
2036 |
3 |
6 3 6 2 0 1 8 |
53 |