
傻逼题,去年航神的noip模拟题,每一个动作放多次等价于放两次,所以每次贪心的把最大的动作发在最开始和最末尾就好了。
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<iostream>
#include<algorithm>
#define maxn 1010using namespace std;long long ans;
int n,k;
int c[maxn];bool 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);for (int i=1;i<=min(k,n/2);i++) ans+=(long long)(n-1-2*(i-1))*c[i];printf("%lldn",ans);return 0;
}
本文发布于:2024-02-06 17:05:24,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/1713180129208678.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
| 留言与评论(共有 0 条评论) |