P3918 [国家集训队]特技飞行
神犇航空开展了一项载客特技飞行业务。每次飞行长N个单位时间,每个单位时间可以进行一项特技动作,可选的动作有K种,每种动作有一个刺激程度Ci。如果连续进行相同的动作,乘客会感到厌倦,所以定义某次动作的价值为(距上次该动作的时间)*Ci,若为第一次进行该动作,价值为0。安排一种方案,使得总价值最大。
贪心
动作的价值为距上次动作的时间*$c_i$
一个动作无论进行多少次,他的代价都是(最后的时间-初始时间)*$c_i$
#include<bits/stdc++.h> #define N 1005 using namespace std; int n,k,c[N],ans; int main() { scanf("%d%d",&n,&k); for(int i=1;i<=k;i++) scanf("%d",&c[i]); int l=1,r=n; sort(c+1,c+1+k); for(int i=k;l<=r&&i>=1;i--){ ans+=c[i]*(r-l); r--,l++; } printf("%d ",ans); return 0; }