#include<bits/stdc++.h>
using namespace std;
long long jl,n,m,a[70000],l,r,mid;
bool yz(int mi)
{
int need,b,kl;
for(int i=1;i<=n+1;i++)
{
if((a[i]-a[b])<mi) {need++;continue;}
else b=i;
}
if(m<=need) return 0;
return 1;
}
int main()
{
cin>>jl>>n>>m;
cout<<1;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
a[n+1]=jl;
sort(a,a+n+2);
l=0;
r=jl;
while(l<r)
{
mid=(l+r)/2;
if(yz(mid)==1) l=mid+1;
else r=mid;
}
cout<<mid;
return 0;
}
这段看似平凡的代码,如果在这段看似平凡的代码,连DEVC++都卡出了BUG
#include<bits/stdc++.h>
using namespace std;
//long long jl,n,m,a[70000],l,r,mid;
/*bool yz(int mi)
{
int need,b,kl;
for(int i=1;i<=n+1;i++)
{
if((a[i]-a[b])<mi) {need++;continue;}
else b=i;
}
if(m<=need) return 0;
return 1;
}*/
int main()
{
//cin>>jl>>n>>m;
cout<<1;
/* for(int i=1;i<=n;i++)
{
cin>>a[i];
}
a[n+1]=jl;
sort(a,a+n+2);
l=0;
r=jl;
while(l<r)
{
mid=(l+r)/2;
if(yz(mid)==1) l=mid+1;
else r=mid;
cout<<"1";
}
cout<<mid;*/
return 0;
}
注释成这样(只留cout<<"1";),啥也不输出,还让我输入,在线等大佬指原因