题意:
有n个课,每个c[i]个章节,一开始上一个课每个单元需要花x小时,但是上完一个课x-1(x最少为1),问如何安排上课才能使总时间最小。
思路:
贪心。章节少的课先上。
#include<cstdio>
#include<algorithm>
using namespace std;
typedef __int64 LL;
const int MAX=1e5;
int n;
LL x,c[MAX];
int main(){
scanf("%d%I64d",&n,&x);
for(int i=0;i<n;i++){
scanf("%I64d",&c[i]);
}
sort(c,c+n);
LL ans=0;
for(int i=0;i<n;i++){
ans+=c[i]*x;
if(x>1) x--;
}
printf("%I64d\n",ans);
return 0;
}