社区讨论

10分求调onz

P4995跳跳!参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mhz4axtz
此快照首次捕获于
2025/11/15 01:14
4 个月前
此快照最后确认于
2025/11/16 13:49
4 个月前
查看原帖
CPP
#include<iostream>
#include<algorithm>
#include<vector>
#include<math.h>
using namespace std;

int chasq(int c,int d){
    return pow(abs(c-d),2);
}

int main(){
    int n;
    cin>>n;
    long long int sum=0;
    vector<int> a(n);
    
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    
    sort(a.begin(),a.end());
    
    if(n%2==0){
        sum+=chasq(a[n-1],0); 
        sum+=chasq(a[n-1],a[0]); 
        int j=0;
        while(j<(n/2-1)){
           
            sum+=chasq(a[j+1],a[n-1-j]); 
            sum+=chasq(a[n-1-j-1],a[j+1]); 
            j++; 
        }	
    }
    if(n%2!=0){
        sum+=chasq(a[n-1],0); 
        sum+=chasq(a[n-1],a[0]);
        int j=0;
        while(j<(n/2-1)){
            
            sum+=chasq(a[j+1],a[n-1-j]);
            sum+=chasq(a[n-1-j-1],a[j+1]); 
            j++;
        }
        
        sum+=chasq(a[n/2],a[j]);
    }
    cout<<sum<<endl;
    return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...