洛谷AC Vijos就WA了4个点

#include<iostream>
#include<cstdio>
using namespace std;
const int N=50005;
int n,m,Len,d[N],L,r,mid,M;

inline void read(int &x){
    x=0;char ch=getchar();
    for(;ch<'0'||ch>'9';ch=getchar());
    for(;ch>='0'&&ch<='9';ch=getchar()) x=(x<<3)+(x<<1)+ch-'0';
}

int ymz(int x){
    int ans=0,w=0;
    for(int i=1;i<=n;i++)
     if (d[i]-d[w]>=x) ans++,w=i;
    return n-ans;
}

int main(){
    read(Len);read(n);read(m);
    for(int i=1;i<=n;i++) read(d[i]);
    L=0;r=Len;d[n+1]=Len;
    while(L<r){
        mid=((L+r)>>1)+1;
        M=ymz(mid);
        if (M<=m) L=mid; else r=mid-1;
    }
    cout<<r;
    return 0;
}

3 条评论

  • 1

信息

ID
1981
难度
6
分类
(无)
标签
递交数
4193
已通过
1017
通过率
24%
被复制
10
上传者