#pragma GCC optimize("Ofast") #include using namespace std; #define REP(i,n) for(int i=0;i<(n);i++) #define RREP(i,n) for(int i=(n-1);i>=0;i--) #define ALL(v) v.begin(),v.end() const int INF=1e9+7; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n,d;cin>>n>>d; vector p(n),q(n); REP(i,n)cin>>p[i]>>q[i]; int ok=-INF,ng=INF; while(ng-ok>1){ int mid=(ok+ng)>>1; int pre=-1,now=0; bool out=false; REP(_,d){ int idx=-1; REP(i,n){ if(i==pre)continue; if(now-p[i]q[idx]-p[idx])idx=i; } if(idx==-1){ out=true; break; } now+=q[idx]-p[idx]; pre=idx; } if(out)ng=mid; else ok=mid; } cout<