1714 ACdream王国的花店

来源:互联网 发布:财务报表数据库设计 编辑:程序博客网 时间:2024/06/09 16:31

Problem Description

  ACdream王国的花店只有一家,所以大家想买花来装饰,店主为了防止有人恶意囤积鲜花来抬高物价(就是黄牛党啦~),于是就定下一个规矩:你买得越多,下一次买的单价就越贵!假设一个人已经购买了x朵鲜花,那么下一次购买第i朵鲜花的单价就是(x+1)*c[i],其中c[i]是一个店主为每一朵花的基本定价。
  ACdream学校想开运动会,需要n朵鲜花来装饰,于是你和你的小伙伴总共m个人就得想办法花最少的钱去完成任务。请问机智的你最少需要花费多少钱呢?

Input

  多组数据,每组数据首先是两个正整数,n(1<=n<=100),m(1<=m<=100)然后是n个整数c[i],(1<=c[i]<=10^6)

Output

  对于每组数据,输出一个整数,表示你需要花费的最少价格。

代码

#include <cstdio>#include <algorithm>using namespace std;int main() {    int n, m, A[105];    while (scanf("%d%d", &n, &m) != EOF) {        for (int i = 0; i < n; i++)            scanf("%d", &A[i]);        sort(A, A + n);        int ans = 0, cnt = 0;        for (int i = n - 1; i >= 0; i--) {            ans += A[i] * (cnt / m + 1);            cnt++;        }        printf("%d\n", ans);    }    return 0;}
0 0