204122026-01-06 17:54:36algoproTV szolgáltatókcpp17Accepted 40/4039ms2036 KiB
// UUID: b6041668-da85-498a-8958-1b4a3e8cd78b
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pll pair<ll,ll>

ll n,k;
vector<pll>tv;

ll cost(ll pos){
	ll sum=0;
	for(int i=0;i<n;i++){
		sum+=(max(tv[i].first-pos,0LL)+max(pos+k-1-tv[i].second,0LL));
	}
	return sum;
}

int main() {
	ios::sync_with_stdio(0);cin.tie(0);
	cin>>n>>k;
	tv.resize(n);
	for(int i=0;i<n;i++){
		cin>>tv[i].first>>tv[i].second;
	}
	ll l=1,r=1e9;
	//cout<<cost(5)<<' '<<l;
	//return 0;
	while(l!=r){
		ll m=(l+r)/2;
		ll c=cost(m);
		ll c2=cost(m+1);
		if(c2>c)r=m;
		if(c2<=c)l=m+1;

	}
	cout<<cost(l);
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted1/11ms316 KiB
4Accepted1/11ms500 KiB
5Accepted1/11ms316 KiB
6Accepted1/11ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms316 KiB
9Accepted2/21ms316 KiB
10Accepted2/21ms316 KiB
11Accepted2/217ms1156 KiB
12Accepted2/217ms1076 KiB
13Accepted2/217ms1076 KiB
14Accepted2/217ms1076 KiB
15Accepted2/234ms1884 KiB
16Accepted2/234ms1844 KiB
17Accepted2/219ms1076 KiB
18Accepted2/219ms1076 KiB
19Accepted2/219ms1076 KiB
20Accepted2/219ms1076 KiB
21Accepted1/119ms1192 KiB
22Accepted1/119ms1076 KiB
23Accepted1/139ms2036 KiB
24Accepted1/139ms1848 KiB
25Accepted1/139ms2036 KiB
26Accepted1/139ms1844 KiB
27Accepted1/139ms1844 KiB
28Accepted1/139ms2036 KiB