神犇航空开展了一项载客特技飞行业务。每次飞行长 n 个单位时间,每个单位时间可以进行一项特技动作,可选的动作有 k 种,每种动作有一个刺激程度 ci。如果连续进行相同的动作,乘客会感到厌倦,所以定义某次动作的价值为(距上次该动作的时间) ,若为第一次进行该动作,价值为 0。安排一种方案,使得总价值最大。
#include<bits/stdc++.h> usingnamespace std; intmain(){ int n, k; cin >> n >> k; vector<int> c(k); for (int i = 0; i < k; i++) { cin >> c[i]; } sort(c.begin(), c.end(), greater<int>()); int left = 0, right = n - 1; int ans = 0; for (int i = 0; i < k; i++) { if (left > right) break; ans += (right - left) * c[i]; left++; right--; } cout << ans << endl; return0; }