#pragma GCC optimize("Ofast") #pragma GCC target("avx2") char*mmap(); #define RD(v) int v=0;{int c;while(c=*rp++-48,c>=0)v=v*10+c;} #define RDL(v) long v=0;{int c;while(c=*rp++-48,c>=0)v=v*10+c;} long x[100002],a[100002]; main(){ char*rp=mmap(0l,20l*200002,1,2,0,0ll); RD(n); RD(k); for(int i=0;++i<=n;){ int neg=*rp==45?++rp,1:0; RDL(t); x[i]=neg?-t:t; } x[0]=1l<<63; x[n+1]=x[0]-1; for(int i=0;++i<=n;){ RDL(t); a[i]=t; } int ai=k,bi=k; long ax=x[k]-a[k],bx=x[k]+a[k]; long prev_ax; do{ prev_ax=ax; while(x[ai-1]>=ax){ --ai; if(ax>x[ai]-a[ai]) ax=x[ai]-a[ai]; if(bxx[bi]-a[bi]) ax=x[bi]-a[bi]; if(bx