#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分,
不知道可不可以改