题目描述
明明家养了N只兔子,边上种植了很多胡萝卜。平时兔子都被关在一个大笼子里,每天明明喂每只兔子3根胡萝卜。
某天饿疯了的兔子们咬坏了笼子门,跑到地里尽情地吃起胡萝卜。每只兔子的“吃货值”不一样,已知第i只兔子每分钟吃Ei个胡萝卜。
明明1分中后发现了情况,急忙开始捉拿这些兔子,已知明明每分钟可以捉一只,请问明明怎样捉才能使得被兔子吃最少的胡萝卜。计算出被兔子吃最少胡萝卜的个数。
例如:N=2, E1=4,E2=5;明明第1个捉第2个兔子(这个兔子已经吃了5根胡萝卜),第2个捉第1个兔子(这个兔子已经吃了8根胡萝卜),共被兔子吃了13根兔子。
输入格式
第一行: 1 个正整数 N。N的范围[1…100]
第二行 N 个正整数: 表示 N 只兔子每分钟可以吃的胡萝卜数,每个数的范围[1…1000000]。
输出格式
一个整数,表示最少要被吃掉多少胡萝卜。
输入/输出例子1
输入:
3
2 1 3
输出:
10
#include<bits/stdc++.h>
using namespace std;
bool cm(int a,int b)
{
return a>b;
}
int n,a[10009],h=0,t=0,s=0;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+1+n,cm);
for(int i=1;i<=n;i++)
{
t++;
s=s+a[i]*t;
}
cout<<s;
return 0;
}