为啥我二分寄了啊
#include<cstdio>
#define ll long long
ll max(ll a,ll b)
{
return a>b?a:b;
}
int n;
ll a[500010],b[500010];
ll l,r,mid,ans;
bool check(ll x)
{
ll now=a[1];
for(int i=1;i<=n;i++)
{
if(now<a[i]) return 0;
now=max(now,a[i]+b[i]+x);
}
return 1;
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%lld%lld",&a[i],&b[i]);
l=0,r=1e9;
while(l+1<r)
{
mid=(l+r)>>1;
if(check(mid)) r=mid;
else l=mid;
}
printf("%lld",r);
return 0;
}