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; }