Tokitsukaze and Sum of MxAb

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

Tokitsukaze 最近对最大值与绝对值有了兴趣。

她有一个长度为 nnn 的序列 aaa。

定义

MxAb(i,j)=max(∣ai−aj∣,∣ai+aj∣)MxAb(i,j)=max(|a_i-a_j|,|a_i+a_j|)MxAb(i,j)=max(∣ai​−aj​∣,∣ai​+aj​∣)

Tokitsukaze 想知道对于所有的 iii, jjj (1≤i,j≤n1 \leq i,j \leq n1≤i,j≤n),MxAb(i,j)MxAb(i,j)MxAb(i,j)的和为多少。

即求下列式子

∑i=1n∑j=1nMxAb(i,j)\sum_{i=1}^{n} \sum_{j=1}^{n} MxAb(i,j)∑i=1n​∑j=1n​MxAb(i,j)

输入描述:

第一行包含一个整数 TTT (1≤T≤101 \leq T \leq 101≤T≤10),表示 TTT 组测试数据。

对于每组测试数据:

第一行包含一个整数 nnn (1≤n≤1051 \leq n \leq 10^51≤n≤105)。

第二行包含 nnn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_na1​,a2​,…,an​ (−105≤ai≤105-10^5 \leq a_i \leq 10^5−105≤ai​≤105)。

输出描述:

对于每组测试数据,输出一个整数表示答案。

示例1

输入

2
1
1
2
1 -2

输出

2
12

说明

样例1解释:

第一组测试数据:MxAb(1,1)=max(∣1−1∣,∣1+1∣)=2MxAb(1,1)=max(|1-1|,|1+1|)=2MxAb(1,1)=max(∣1−1∣,∣1+1∣)=2

第二组测试数据:

MxAb(1,1)=max(∣1−1∣,∣1+1∣)=2MxAb(1,1)=max(|1-1|,|1+1|)=2MxAb(1,1)=max(∣1−1∣,∣1+1∣)=2

MxAb(1,2)=max(∣1−(−2)∣,∣1+(−2)∣)=3MxAb(1,2)=max(|1-(-2)|,|1+(-2)|)=3MxAb(1,2)=max(∣1−(−2)∣,∣1+(−2)∣)=3

MxAb(2,1)=max(∣(−2)−1∣,∣(−2)+1∣)=3MxAb(2,1)=max(|(-2)-1|,|(-2)+1|)=3MxAb(2,1)=max(∣(−2)−1∣,∣(−2)+1∣)=3

MxAb(2,2)=max(∣(−2)−(−2)∣,∣(−2)+(−2)∣)=4MxAb(2,2)=max(|(-2)-(-2)|,|(-2)+(-2)|)=4MxAb(2,2)=max(∣(−2)−(−2)∣,∣(−2)+(−2)∣)=4

所以总和为 2+3+3+4=122+3+3+4=122+3+3+4=12

//不要仅仅局限测试样例,我们要学会自己写测试样例,去发现规律,检测思路。

#include<bits/stdc++.h>
using namespace std;
int main(){
    int t,n,x,y;
    cin>>t;
    while(t--){
       long long s=0;
        cin>>n;
        y=n;
        while(y--){cin>>x;s+=abs(x);}
        cout<<s*2*n<<endl;
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星河欲转。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值