题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5003
题目大意:给出n首歌曲得分,降序排列后第i首歌得分能让总分加上0.95^(i-1)*ai分。让你输出总分。
代码如下:
#include <iostream> #include <cmath> #include <algorithm> using namespace std; #define MAXN 55 bool cmp(int a,int b){ return a>b; } int main(){ int T,n,score[MAXN]; double ans; scanf("%d",&T); while(T--){ ans=0; scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&score[i]); } sort(score+1,score+n+1,cmp); for(int i=1;i<=n;i++){ ans+=pow(0.95,i-1)*1.0*score[i]; } printf("%.10f\n",ans); } return 0; }