求助RE

P2678 [NOIP2015 提高组] 跳石头

@[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


|