BZOJ2697: 特技飛行
阿新 • • 發佈:2019-01-01
reverse lin i++ sort define 特技 name bzoj ()
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); }
BZOJ2697: 特技飛行