社区讨论

秘制TLE求教为什么

P2678[NOIP 2015 提高组] 跳石头参与者 5已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mi5hho9g
此快照首次捕获于
2025/11/19 12:10
4 个月前
此快照最后确认于
2025/11/19 12:10
4 个月前
查看原帖
CPP
#include <cstdio>  
int L,n,m,i,w,l,r,mid,pos,ans,a[55555]; 
bool ok(int x) {  
    for(pos=w=0,i=1;i<=n;i++)
        if(a[i]-pos<x)w++; else pos=a[i];  
    return w<=m; 
}  
int main() {  
    for(scanf("%d%d%d",&L,&n,&m),i=1;i<=n;i++)
        scanf("%d",&a[i]);a[++n]=L;  
    for(l=1,r=L;l<=r;)
        if(ok(mid=l+r>>1))
            ans=mid,l=mid+1;
    r=mid-1;  printf("%d",ans); 
}

回复

4 条回复,欢迎继续交流。

正在加载回复...