204062026-01-06 17:48:47algoproTV szolgáltatókcpp17Időlimit túllépés 1/401s2036 KiB
// UUID: 3a26a3b3-cb75-477f-bf51-dcf1ca529e6c
#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-1){
		ll m=(l+r)/2;
		ll c=cost(m);
		ll c1=cost(m-1),c2=cost(m+1);
		if(c2<=c)l=m;
		if(c1<=c)r=m;
	}
	cout<<cost(l);
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base1/40
1Elfogadva0/01ms316 KiB
2Időlimit túllépés0/0982ms316 KiB
3Időlimit túllépés0/1982ms500 KiB
4Időlimit túllépés0/1982ms316 KiB
5Időlimit túllépés0/11s396 KiB
6Időlimit túllépés0/1976ms316 KiB
7Időlimit túllépés0/2976ms316 KiB
8Időlimit túllépés0/2977ms564 KiB
9Időlimit túllépés0/21s316 KiB
10Időlimit túllépés0/2973ms500 KiB
11Időlimit túllépés0/2973ms1076 KiB
12Időlimit túllépés0/2975ms1268 KiB
13Időlimit túllépés0/21s1076 KiB
14Időlimit túllépés0/2978ms1268 KiB
15Időlimit túllépés0/2980ms1844 KiB
16Időlimit túllépés0/2981ms1844 KiB
17Időlimit túllépés0/21s1076 KiB
18Időlimit túllépés0/2986ms1272 KiB
19Időlimit túllépés0/2987ms1076 KiB
20Időlimit túllépés0/2987ms1076 KiB
21Időlimit túllépés0/11s1076 KiB
22Időlimit túllépés0/1991ms1272 KiB
23Időlimit túllépés0/1991ms1844 KiB
24Időlimit túllépés0/1994ms1844 KiB
25Időlimit túllépés0/11s1844 KiB
26Időlimit túllépés0/1981ms2036 KiB
27Időlimit túllépés0/1981ms1844 KiB
28Elfogadva1/141ms1848 KiB