CF1248B.Grow The Tree

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Gardener Alexey teaches competitive programming to high school students. To congratulate Alexey on the Teacher's Day, the students have gifted him a collection of wooden sticks, where every stick has an integer length. Now Alexey wants to grow a tree from them.

The tree looks like a polyline on the plane, consisting of all sticks. The polyline starts at the point (0,0)(0, 0) . While constructing the polyline, Alexey will attach sticks to it one by one in arbitrary order. Each stick must be either vertical or horizontal (that is, parallel to OXOX or OYOY axis). It is not allowed for two consecutive sticks to be aligned simultaneously horizontally or simultaneously vertically. See the images below for clarification.

Alexey wants to make a polyline in such a way that its end is as far as possible from (0,0)(0, 0) . Please help him to grow the tree this way.

Note that the polyline defining the form of the tree may have self-intersections and self-touches, but it can be proved that the optimal answer does not contain any self-intersections or self-touches.

输入格式

The first line contains an integer nn ( 1n1000001 \le n \le 100\,000 ) — the number of sticks Alexey got as a present.

The second line contains nn integers a1,,ana_1, \ldots, a_n ( 1ai100001 \le a_i \le 10\,000 ) — the lengths of the sticks.

输出格式

Print one integer — the square of the largest possible distance from (0,0)(0, 0) to the tree end.

输入输出样例

  • 输入#1

    3
    1 2 3
    

    输出#1

    26
  • 输入#2

    4
    1 1 2 2
    

    输出#2

    20

说明/提示

The following pictures show optimal trees for example tests. The squared distance in the first example equals 55+11=265 \cdot 5 + 1 \cdot 1 = 26 , and in the second example 44+22=204 \cdot 4 + 2 \cdot 2 = 20 .

首页