P4995 跳跳! 贪心
P4995 跳跳!
贪心思想,在石头中最大和最小来回跳。
#include<bits/stdc++.h>
using namespace std;
int main()
{
vector<int> h;
int n;
cin>>n;
for (int i=1;i<=n;i++)
{
int x;
cin>>x;
h.push_back(x);
}
h.push_back(0);//加入地面的高度
sort(h.begin(),h.end());//高度从低到高排序
long long ans=0;
int l=0,r=h.size()-1;
while(l<r)
{
ans+=pow(h[r]-h[l],2);//从当前最低跳到当前最高,当前在最高处
l++;//最低处上移一步
ans+=pow(h[r]-h[l],2);//从当前最高跳到当前最低,当前在最低处
r--;//最高处下移一步
}
cout<<ans<<endl;
}
浙公网安备 33010602011771号