米子加油


私信TA

用户名:dotcpp0678296

访问量:858

签 名:

冲冲冲

等  级
排  名 3022
经  验 2062
参赛次数 0
文章发表 14
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include <iostream>

using namespace std;

int L,N,M,a[10000];

int f(int x)

{

int ans=0,t=0,len=N+1;

for(int i=1;i<=len;i++)

{

if(a[i]-t>=x)

{

t=a[i];

}

else

{

ans++;

}

}

return ans;

}

int op(int l,int r)

{

if(l==r)

{

return l;

}

int mid=(l+r+1)>>1;

if(f(mid)<=M)

{

return op(mid,r);

}

else

{

return op(l,mid-1);

}

}

int main()

{

cin>>L>>N>>M;

for(int i=1;i<=N;i++)

{

cin>>a[i];

}

a[N+1]=L;

cout<<op(1,L);

return 0;

 } 


 

0.0分

0 人评分

  评论区

  • «
  • »