题目描述
给一组互不相同的数定义A价值:
一组数的A价值为数的大小乘以数在数组中从大到小的名次的和
例:
2 1 3的A价值为:
3*1+2*2+1*3=10
输入
第一行一个整数n表示数组大小为n
第二行n个整数表示数组
输出
一行一个整数表示数组的A价值
样例输入 Copy
3
2 1 3
样例输出 Copy
10
#include<cstdio>
#include<iostream>
using namespace std;
int main (){
int n,t;
int s=0;
scanf("%d",&n);
int a[n] ;
for(int m=0;m<n;m++){
scanf("%d",&a[m]);
}
for (int i=0; i<n-1; i++)
{
for (int j=0; j<n-1-i; j++)
{
if (a[j] < a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
for(int x=0;x<n;x++)
{
s=s+a[x]*(x+1) ;
}
printf("%d",s);
}