CF 575F

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=5010;
struct s
{
    int l,r;
}a[maxn];
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
        scanf("%d%d",&a[i].l,&a[i].r);
    int l=m,r=m;
    ll ans=0;
    for(int i=1;i<=n;i++)
    {
        if(a[i].l>=l&&a[i].r<=r)
        {
            l=a[i].l;
            r=a[i].r;
            continue;
        }
        if(a[i].l>r)
        {
            ans+=a[i].l-r;
            l=r;
            r=a[i].l;
            continue;
        }
        if(a[i].r<l)
        {
            ans+=l-a[i].r;
            r=l;
            l=a[i].r;
            continue;
        }
        if(a[i].l<=l&&a[i].r<=r&&a[i].r>=l)
        {
            r=a[i].r;
            continue;
        }
        if(a[i].r>=r&&a[i].l<=r&&a[i].l>=l)
        {
            l=a[i].l;
            continue;
        }
    }
    printf("%lld\n",ans);
    return 0;
}
posted @ 2020-05-11 20:09  Zeronera  阅读(120)  评论(0)    收藏  举报