目录
一、问题描述
二、代码
#include <iostream>
#include <stdio.h>
using namespace std;
void BubbleSort1(long *arr,long sz){
long i = 0;
long j = 0;
for(i=0;i<sz-1;i++){
for(j=0;j<sz-i-1;j++){
if(arr[j]>arr[j+1]){
long tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
}
double MinTime(long n,long s, long t[]){
BubbleSort1(t,n);
double sum = 0;
long tt = n % s;
for(long i = 0, j = 0, k = 0; i < n && j < s; i = i + s, k++){
if(j < tt) sum = sum + t[i] * (n / s + 1 - k);
else sum = sum + t[i] * (n / s - k);
if(i + s >= n){
i = ++j - s;
k = -1;
}
}
return sum / n;
}
int main()
{
long n, s;
scanf("%ld %ld",&n,&s);
long t[n] = {0};
for(long i = 0; i < n; i++)
scanf("%ld",&t[i]);
printf("\n%.0lf",MinTime(n,s,t));
return 0;
}