#D. 跳跳!

    Type: RemoteJudge 1000ms 125MiB

跳跳!

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

你是一只小跳蛙,你特别擅长在各种地方跳来跳去。

这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 ii 块的石头高度为 hih_i,地面的高度是 h0=0h_0 = 0。你估计着,从第 ii 块石头跳到第 jj 块石头上耗费的体力值为 (hihj)2(h_i - h_j) ^ 2,从地面跳到第 ii 块石头耗费的体力值是 (hi)2(h_i) ^ 2

为了给小 F 展现你超级跳的本领,你决定跳到每个石头上各一次,并最终停在任意一块石头上,并且小跳蛙想耗费尽可能多的体力值。

当然,你只是一只小跳蛙,你只会跳,不知道怎么跳才能让本领更充分地展现。

不过你有救啦!小 F 给你递来了一个写着 AK 的电脑,你可以使用计算机程序帮你解决这个问题,万能的计算机会告诉你怎么跳。

那就请你——会写代码的小跳蛙——写下这个程序,为你 NOIp AK 踏出坚实的一步吧!

输入格式

输入一行一个正整数 nn,表示石头个数。

输入第二行 nn 个正整数,表示第 ii 块石头的高度 hih_i

输出格式

输出一行一个正整数,表示你可以耗费的体力值的最大值。

2
2 1
5
3
6 3 5

49

提示

样例解释

两个样例按照输入给定的顺序依次跳上去就可以得到最优方案之一。

数据范围

对于 1in1 \leq i \leq n,有 0<hi1040 < h_i \leq 10 ^ 4,且保证 hih_i 互不相同。

对于 10%10\% 的数据,n3n \leq 3

对于 20%20\% 的数据,n10n \leq 10

对于 50%50\% 的数据,n20n \leq 20

对于 80%80\% 的数据,n50n \leq 50

对于 100%100\% 的数据,n300n \leq 300

初一从0开始学C++(贪心入门)

Not Claimed
Status
Done
Problem
4
Open Since
2024-5-19 0:00
Deadline
2024-6-30 23:59
Extension
24 hour(s)