BZOJ2697: 特技飞行

https://lydsy.com/JudgeOnline/problem.php?id=2697

分析:

  • 每个特技选两个就够了。
  • 贪心地选最大的放在最外面即可。

代码:

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cstdlib>
#include <set>
#include <vector>
#include <cmath>
using namespace std;
#define N 1500
typedef long long ll;
int n,K,a[N];
int main() {
	scanf("%d%d",&n,&K);
	int i;
	ll ans=0;
	for(i=1;i<=K;i++) scanf("%d",&a[i]);
	sort(a+1,a+K+1);
	reverse(a+1,a+K+1);
	for(i=1;i<=n/2&&i<=K;i++) {
		ans+=(n-(2*i-1))*a[i];
	}
	printf("%lld\n",ans);
}

相关文章:

  • 2022-01-08
  • 2021-10-06
  • 2021-06-20
  • 2022-12-23
  • 2021-05-18
  • 2022-12-23
  • 2022-01-14
  • 2021-11-03
猜你喜欢
  • 2022-12-23
  • 2021-10-16
  • 2021-10-08
  • 2021-09-15
  • 2021-06-23
  • 2022-12-23
  • 2021-09-11
相关资源
相似解决方案