@[yuki2012](/user/996450)
work函数缺少返回值
by 编码落寞 @ 2024-01-04 09:34:59
@[yuki2012](/user/996450)
```
int a=0;
if(flag==1) a=work(l,mid);
else a=work(mid,r);
return a;
```
在IDE上测试,改成这样,就有输出了
by 编码落寞 @ 2024-01-04 09:36:31
@[编码落寞](/user/557751)
谢谢大佬
by yuki2012 @ 2024-01-04 10:07:37
@[编码落寞](/user/557751)
已经改过了,100分了,但是加强数据过不了。
```cpp
#include<bits/stdc++.h>
using namespace std;
int len,n,m,arr[50010];
int work(int l,int r){
if(r-l<=1) return l;
int mid=l+(r-l)/2;
int k=0,num=0,flag=0;
for(int i=1;i<=n;i++){
int dis=arr[i]-k;
if(dis>=mid) k=arr[i];
else{
num++;
if(num>m){
flag=1;
break;
}
}
}
int a=0;
if(flag==1) a=work(l,mid);
else a=work(mid,r);
return a;
}
int main(){
cin>>len>>n>>m;
for(int i=1;i<=n;i++) scanf("%d",&arr[i]);
cout<<work(1,len+1);
return 0;
}
```
是什么原因耶……
大佬能帮忙看一下吗
by yuki2012 @ 2024-01-04 10:13:55
@[yuki2012](/user/996450)
你可以看看这里描述的,是否对你有帮助https://www.luogu.com.cn/discuss/573964
by 编码落寞 @ 2024-01-04 16:59:56
@[编码落寞](/user/557751)
谢谢大佬,已经AC啦
by yuki2012 @ 2024-01-04 22:03:09