⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 030300306[6].cpp

📁 是服务优先顺序的实验
💻 CPP
字号:
#include<iostream>
#include<fstream>
using namespace std;

/*int ios::precision(int p)//重新设置显示精度
{
	int x=x_precision;
	x_precision=p;
	return x;
}*/

int Swap(double&a,double&b)
{//交换a与b的值
	double temp=a;a=b;b=temp;
	return 0;
}

int Partition(double a[],int p,int r)
{
	int i=p,j=r+1;
	double x=a[p];
	//将<=x的元素交换到左边区域
	//将>=x的元素交换到右边区域
	while(true)
	{
		while(a[++i]<x);
		while(a[--j]>x);
		if(i>=j) break;
		Swap(a[i],a[j]);
	}
	a[p]=a[j];
	a[j]=x;
	return j;
}


void QuickSort(double a[],int p,int r)
{
	if(p<r)
	{
		int q=Partition(a,p,r);
		QuickSort(a,p,q-1);//对左半段排序
		QuickSort(a,q+1,r);//对右半段排序
	}
}

int main()
{
	ifstream in("input.txt");
    ofstream out("output.txt");
    int p=30;
    out.precision(p);

	int n,s;
	double time=0;
	double a[100000];
	double time1[100000];
	in>>n>>s;
	for(int i=0;i<=n-1;i++)
		in>>a[i];
	QuickSort(a,0,n-1);
	for(i=0;i<=s-1;i++)
		time1[i]=a[i];
	for(int j=s;j<=n-1;j++)
		time1[j]=time1[j-s]+a[j];
	for(i=0;i<=n-1;i++)
		time+=time1[i];
	out<<time/n<<endl;
	return 0;
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -