大佬们看看桶排序有没有说法
查看原帖
大佬们看看桶排序有没有说法
193714
司马韵兮楼主2020/10/20 17:36
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
int m,l,n,k,a[10000005],b[100005];
bool o;
int main()
{
	cin>>l>>n>>k;
	for(int i=1;i<=n;i++)
	{
		cin>>b[i];
		a[b[i]-b[i-1]]++;
		m=max(b[i]-b[i-1],m);
	}
	a[l-b[n]]++;
	m=max(l-b[n],m);
	for(int i=m;i>=1;i--)
	{
		while(a[i]--)
		{
			if(!k)
			{
				cout<<i<<endl;
				o=1;
				break;
			}
			else
			{
				--k;
				if(i%2)
				{
					++a[(i-1)/2];
					++a[(i+1)/2];
				}
				else
				{
					a[i/2]+=2;
				}
			}
		}
		if(o) break;
	}
	return 0;
}

只得了10分, 不知道可不可以改

2020/10/20 17:36
加载中...