题目描述
blablabla
include[HTML_REMOVED]
using namespace std;
int n,len;
const int N=100010;
typedef pair[HTML_REMOVED]PII;
typedef long long LL;
PII w[N],q[N];
bool check(int mid)
{
int cnt=0;
for(int i=0;i<n;i)
{
if(w[i].second<=mid)
{
int l=max(w[i].first-(mid-w[i].second),1),r=min((LL)w[i].first+(mid-w[i].second),(LL)len);
q[cnt]={l,r};
}
}
sort(q,q+cnt);
int st=-1,ed=-1;
for(int i=0;i<cnt;i)
{
if(q[i].first<=ed+1)
{
ed=max(ed,q[i].second);
}
else st=q[i].first,ed=q[i].second;
}
if(st==1&&ed==len)return true;
else return false;
}
int main()
{
scanf(“%d%d”,&n,&len);
for(int i=0;i<n;i)
{
scanf(“%d%d”,&w[i].first,&w[i].second);
}
LL l=0,r=2e9;
while(l<r)
{
LL mid=(l+r)/2;
if(check(mid))r=mid;
else l=mid+1;
}
cout<<r<<endl;
return 0;
}
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla