今天早上起来,发现自己的脚变成了绿的…
我变成了青蛙!
怪离谱的:
今天下午f同学约我出去玩,好耶ヽ(✿゚▽゚)ノ
那么我肯定要在他面前展现我跳跃的技术
让我想想嗷
为了展示出我的技术
那么
我肯定要每次跳跃消耗的体力值最多
一开始是从地面开始跳
那么我肯定要挑一个最高的作为起始点
也就是说第一个必定是这些石头里面最高的
有思路了!
那么接下来我该怎么做呢…
再跳向这些石头最矮的
也就是:
假如我们有h1,h2,h3,h4,h5…hn n个石头
并且h1>h2…>hn
那么我就需要跳到h1再跳到hn再跳到h2再跳到hn-1就可以完美的展现出我的技术了!
那么用代码实现就是这样的:
#include<bits/stdc++.h>
using namespace std;
long long n;
long long h[301];
void sp(long long&a,long long&b){
int c=a;a=b;b=c;return;
}
long long jl(int a,int b){
return((a-b)*(a-b));
}
int main(){
scanf("%lld",&n);
for(int i=1;i<=n;++i)scanf("%lld",h+i);
sort(h+1,h+n+1);
long long l=0,r=n;
long long J=0;
while(l<r){
J+=jl(h[r],h[l]);
++l;
J+=jl(h[l],h[r]);
--r;
}
printf("%lld",J);
return 0;
}
哎嘿,不亏是我的蛙头
一开始没开long long…差点去世