Thứ Ba, 3 tháng 5, 2022

XEPDOAN C++

#include <bits/stdc++.h>
using namespace std;
struct doan
{
    int x,y;
};
doan d[100001];
int n;
void nhap()
{
    int k;
    cin>>n;
    for (int i=1;i<=n;i++)
    {
        cin>>d[i].x>>k;
        d[i].y=d[i].x+k;
    }
}

bool ss(doan p,doan q)
{
    if (p.x<q.x) return true;
    return false;
}

void xuli()
{
    sort(d+1,d+1+n,ss);
    long long a=d[1].x,b=d[1].y;
    //for (int i=1;i<=n;i++) cout<<d[i].a<<" "<<d[i].b<<endl;
    long long res=0;
    for (int i=2;i<=n;i++)
    {
        if (b>=d[i].x)
        {
            if (d[i].y>b) b=d[i].y;
        }
        else
        {
            //cout<<s1<<" h "<<s2<<" "<<s<<endl;
            res=res+(b-a);
            a=d[i].x;
            b=d[i].y;
        }
    }
    res=res+(b-a);
    cout<<res;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    freopen("xepdoan.inp","r",stdin);
    freopen("xepdoan.out","w",stdout);
    nhap();
    xuli();
}

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.