#include<bits/stdc++.h> using namespace std; int n,r,a[501],b[101][501],k,d=1,ans; int main(){ cin>>n>>r; for(int i=1;i<=n;i++){ cin>>a[i]; } sort(a+1,a+n+1); for(int j=1;j<=n;j++){ k++; if(k>r){ k=k-r; d++; } b[k][d]=a[j]+b[k][d-1]; } for(int i=1;i<=n;i++){ for(int j=1;j<=d;j++){ ans+=b[i][j]; } } cout<<ans; return 0; } //2 6 4 5 //排序2 4 5 6 //k哪个桶: //k //1 2 3 4 //第一轮 d //1桶:2 5 //2桶:4 6 /************************************************************** Problem: 1228 User: chenjingqi Language: C++ Result: Accepted Time:10 ms Memory:2276 kb ****************************************************************/