203952026-01-06 17:35:38algoproTV szolgáltatókcpp17Accepted 40/4059ms6676 KiB
// UUID: 581e3a58-1b70-4e8c-9cec-11b0bea3c091
#include <bits/stdc++.h>
using namespace std;
#define int long long

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n,k;
    cin >> n >> k;

    vector<pair<int,bool>>v;
    v.reserve(n*2);

    int fds = 0, bds = 0, bc = 0, fc = 0;
    for(int i = 0; i < n; i++){
        int l,r;
        cin >> l >> r;
        fds+= l+k-1;
        fc++;
        v.push_back({l+k-1,0});
        v.push_back({r,1});
    }
    sort(v.begin(), v.end());
    fds-= v.front().first * fc;
    int ans = fds;
    v.push_back({INT_MAX, 1});
    for(int i = 0; i < n*2; i++){
        if(v[i].second){
            bc++;
        }
        else fc--;
        //cout << bds << ' ' << fds << '\n';
        fds+= fc*(v[i].first-v[i+1].first);
        bds-= bc*(v[i].first-v[i+1].first);
        ans = min(ans, bds+fds);
    }
    cout << ans;
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/01ms512 KiB
2Accepted0/01ms316 KiB
3Accepted1/11ms512 KiB
4Accepted1/11ms316 KiB
5Accepted1/12ms316 KiB
6Accepted1/11ms316 KiB
7Accepted2/22ms444 KiB
8Accepted2/21ms316 KiB
9Accepted2/21ms316 KiB
10Accepted2/21ms316 KiB
11Accepted2/226ms3464 KiB
12Accepted2/226ms3380 KiB
13Accepted2/227ms3532 KiB
14Accepted2/226ms3532 KiB
15Accepted2/254ms6640 KiB
16Accepted2/252ms6640 KiB
17Accepted2/228ms3380 KiB
18Accepted2/228ms3380 KiB
19Accepted2/228ms3320 KiB
20Accepted2/228ms3380 KiB
21Accepted1/128ms3532 KiB
22Accepted1/128ms3428 KiB
23Accepted1/157ms6560 KiB
24Accepted1/157ms6452 KiB
25Accepted1/159ms6452 KiB
26Accepted1/157ms6596 KiB
27Accepted1/159ms6452 KiB
28Accepted1/157ms6676 KiB