记录编号 | 434523 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | [NOIP 2015]跳石头 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.000 s | ||
提交时间 | 2017-08-08 07:29:58 | 内存使用 | 0.15 MiB | ||
#include<iostream> #include<cstring> #include<cstdio> using namespace std; inline int read(){ int sum(0); char ch(getchar()); for(;ch<'0'||ch>'9';ch=getchar()); for(;ch>='0'&&ch<='9';sum=sum*10+(ch^48),ch=getchar()); return sum; } int l,n,m; int a[50005]; int ans; inline void doit(int l,int r){//cout<<l<<' '<<r<<endl; if(l==r){ ans=l; return; } int mid((l+r)>>1),tmp(0),last(0); for(int i=1;i<=n+1;i++){ if(a[i]-last>mid) last=a[i]; else tmp++; } if(tmp>m) doit(l,mid); else doit(mid+1,r); } inline int gg(){ freopen("2015stone.in","r",stdin); freopen("2015stone.out","w",stdout); l=read(),n=read(),m=read(); for(int i=1;i<=n;i++) a[i]=read(); a[n+1]=l; doit(0,l); printf("%d",ans); } int K(gg()); int main(){;}