#include<iostream> #include<algorithm> #include<cstring> using namespace std ; typedef long long ll; const int MAXN = 2e5+5; ll arr[MAXN],dp[MAXN]; int main() { ll n,m,sum=0; cin >> n >> m; for(int i=1; i<=n; i++) cin >> arr[i]; sort(arr+1,arr+n+1); for(int i=1; i<=n; i++) { sum+=arr[i]; if(i<m) dp[i]=sum; else dp[i]=dp[i-m]+sum; cout << dp[i] << " "; } return 0; } //dp[1]=a[1]=sum[1] //dp[2]=a[1]+a[2]=sum[2] //dp[3]=a[3]+a[2]+a[1]*2=dp[2]+a[3]+a[1]=dp[1]+sum[3] //dp[4]=a[4]+a[3]+a[2]*2+a[1]*2=dp[3]+a[4]+a[2]=dp[2]+sum[4] //dp[5]=a[5]+a[4]+a[3]*2+a[2]*2+a[1]*3=dp[4]+a[5]+a[3]+a[1]=dp[3]+sum[5]
Codeforces Round #600 (Div. 2) C - Sweets Eating
猜你喜欢
转载自www.cnblogs.com/QingyuYYYYY/p/11923957.html
今日推荐
周排行