请大佬求助,c++代码,全WA。
  • 板块P4995 跳跳!
  • 楼主xyx_37jc
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/8/14 14:31
  • 上次更新2023/10/27 15:29:01
查看原帖
请大佬求助,c++代码,全WA。
730885
xyx_37jc楼主2022/8/14 14:31

样例都过,代码如下:

#include<bits/stdc++.h>
using namespace std;
long long n,i,j,h[305];
int main(){
	scanf("%lld",&n);
	for(i=1;i<=n;i++)
	    scanf("%lld",&h[i]);
	long long sum=h[1]*h[1];
	sort(h+1,h+n+1,greater<int>()); 
	for(i=1,j=n;i<=n/2;i++,j--) 
	    sum+=(h[i]-h[j])*(h[i]-h[j]);
	for(i=2,j=n;i<=(n+1)/2;i++,j--)
	    sum+=(h[i]-h[j])*(h[i]-h[j]);
	/*
	    我的思路是按石头的高度从大到小排序,定义一个sum作为最后的答案。为了使消
	耗的体力最大,所以首先要从地面跳到最高的石头(即第一个石头),其消耗的体力为
	h[1]*h[1]。然后开始执行for:从第一个石头跳到最后一个石头,再从最后一个石头跳
	到第二个石头,再从第二个石头跳到倒数第二个石头,再从倒数第二个石头跳到第三个
	石头,这样一直下去。最后输出sum。
	    样例都过了,自己测试的数据也过了,但就是0分,实在想不通。 
	*/
    printf("%lld",sum);
	return 0;
}
2022/8/14 14:31
加载中...