【Tsinsen1329】【集训队2012】特技飞行(贪心)

题目描述

传送门

题解

其实每种表演2次和表演多次是等价的,那么我们对 Ci 进行排序,大的放在两头表演,然后再往中间放,直到放不下或者表演种数不够。

代码

#include
#include
#include
#include
using namespace std;

const int max_k=305;

int N,K,C[max_k],ans;

inline int cmp(int a,int b){
    return a>b;
}

int main(){
    scanf("%d%d",&N,&K);
    for (int i=1;i<=K;++i)
      scanf("%d",&C[i]);
    sort(C+1,C+K+1,cmp);
    int sum=N-1;
    for (int i=1;i<=N/2&&i<=K;++i){
        ans+=sum*C[i];
        sum-=2;
    }
    printf("%d\n",ans);
}

你可能感兴趣的:(题解,贪心)