6

噢莫加纳加加加  •  17天前


#include<bits/stdc++.h>
using namespace std;
int x[1010];
int main()
{
	int n,k, s=0;
	cin>>n>>k;
	for(int i=0;i<n;i++)
		cin>>x[i];
	sort(x,x+n);
	if(n>k)
	{
		if((n-k)%(k-1))
		{
			s+=x[(n-k)%(k-1)];
			for(int i=0;i<(n-k)%(k-1);i++)
			{
				s+=x[i];
				x[(n-k)%(k-1)]+=x[i];
				x[i]=99999999;
			}
			sort(x,x+n);
			n-=(n-k)%(k-1);
		}
		
		while(n>=k)
		{
			s+=x[k-1];
			for(int i=0;i<k-1;i++)
			{
				s+=x[i];
				x[k-1]+=x[i];
				x[i]=99999999;
			}
			sort(x,x+n);
			n-=k-1;
		}
	}
	else{
		for(int i=0;i<n;i++)
			s+=x[i];
	}
	cout<<s;
	return 0;
}

评论:

请先登录,才能进行评论