rt,目前最后一个点大概 1.15s
#include<bits/stdc++.h>
using namespace std;
const int MXN=2e6+5;
const int INF=1e9;
int n,m;
int a[MXN],b[MXN],suf[MXN];
bool vis[MXN];
namespace nqio{const unsigned R=4e5,W=4e5;char*a,*b,i[R],o[W],*c=o,*d=o+W,h[40],*p=h,y;bool s;struct q{void r(char&x){x=a==b&&(b=(a=i)+fread(i,1,R,stdin),a==b)?-1:*a++;}void f(){fwrite(o,1,c-o,stdout);c=o;}~q(){f();}void w(char x){*c=x;if(++c==d)f();}q&operator>>(char&x){do r(x);while(x<=32);return*this;}q&operator>>(char*x){do r(*x);while(*x<=32);while(*x>32)r(*++x);*x=0;return*this;}template<typename t>q&operator>>(t&x){for(r(y),s=0;!isdigit(y);r(y))s|=y==45;if(s)for(x=0;isdigit(y);r(y))x=x*10-(y^48);else for(x=0;isdigit(y);r(y))x=x*10+(y^48);return*this;}q&operator<<(char x){w(x);return*this;}q&operator<<(char*x){while(*x)w(*x++);return*this;}q&operator<<(const char*x){while(*x)w(*x++);return*this;}template<typename t>q&operator<<(t x){if(!x)w(48);else if(x<0)for(w(45);x;x/=10)*p++=48|-(x%10);else for(;x;x/=10)*p++=48|x%10;while(p!=h)w(*--p);return*this;}}qio;}using nqio::qio;
struct ele{
int va,id;bool isup;
ele(int va=0,int id=0,bool isup=0):va(va),id(id),isup(isup){}
bool operator < (const ele &b)const{return va<b.va;}
}arr[MXN];
int indr,curres,curcnt,mn;
inline int gid(int id,bool isup){return id+(isup?n:0);}
inline void add(int id,bool isup){
vis[gid(id,isup)]=1;
if(!vis[gid(id,!isup)]){
curcnt++;
curres+=!isup;
}
else if(isup)curres--;
}
inline void del(int id,bool isup){
if(!vis[gid(id,!isup)]){
curcnt--;
curres-=!isup;
}
else if(isup)curres++;
vis[gid(id,isup)]=0;
}
inline bool chk(int x){
mn=INF,indr=0;
for(int i=1;i<=(n<<1);i++){
while(indr<(n<<1) && arr[indr+1].va<=arr[i].va+x){
indr++;
add(arr[indr].id,arr[indr].isup);
}
if(curcnt==n)mn=min(mn,curres);
del(arr[i].id,arr[i].isup);
}
return mn<=m;
}
int main(){
qio>>n>>m;
for(int i=1;i<=n;i++)qio>>a[i];
for(int i=1;i<=n;i++)qio>>b[i];
for(int i=1;i<=n;i++){
arr[i]=ele(a[i],i,1);
arr[i+n]=ele(b[i],i,0);
}
sort(arr+1,arr+1+(n<<1));
int l=0,r=INF;
while(l<r){
int mid=(l+r)>>1;
if(chk(mid))r=mid;
else l=mid+1;
}
qio<<l;
return 0;
}