每位同学都有自己的一个幸运数,乐乐所在班级共有n位同学,因此有编号为1至n的n块标牌,标牌的编号与自己的幸运数相乘,就是这位同学的分数。你的工作就是帮乐乐寻找一种方案,使得班级总分数最大。
输入
第一行只有一个整数n
第二行共有n个不超过10000的正整数,中间有一个空格隔开。
输出
只有一行且只有一个整数,乐乐班级的总分数。
代码实现
#include<stdio.h>
int main()
{
int a[10005];
long long t = 0;
int n, i, j, x;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (a[i] > a[j])
{
x = a[i];
a[i] = a[j];
a[j] = x;
}
}
}
for (i = 0; i < n; i++)
{
t += a[i] * (i + 1);
}
printf("%lld", t);
return 0;
}