24952023-01-13 20:12:41kohumarkTV szolgáltatókcpp11Hibás válasz 12/4035ms6264 KiB
#include <iostream>
#include <climits>
using namespace std;

int mi, ma, x, n, k;

long long es(int x, int bj[][2]) {
    int e=x+k-1;
    int c=0;
    for (int i=0; i<n; i++) {
        c+=max(0, bj[i][0]-x);
        c+=max(0, e-bj[i][1]);
    }
    return c;
}

int main(){
	ios_base::sync_with_stdio(false); cin.tie(NULL);
	cin >> n >> k;
	int bj[n][2];
	int veg=0;
	for(int i=0; i<n; i++){
		cin >> bj[i][0] >> bj[i][1];
		veg=max(veg,bj[i][1]);
		bj[i][0]--; bj[i][1]--;
	}
	
	
	mi=0; ma=veg-1;
    while(ma-mi>1){
        x=(ma+mi)/2;
        if (es(x,bj)>es(x+1,bj)) mi=x;
        else ma=x;
    }
    
    cout << min(es(mi,bj), es(ma,bj));
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base12/40
1Elfogadva0/03ms1888 KiB
2Elfogadva0/02ms2124 KiB
3Elfogadva1/12ms2440 KiB
4Elfogadva1/12ms2500 KiB
5Elfogadva1/12ms2452 KiB
6Elfogadva1/12ms2668 KiB
7Elfogadva2/22ms2748 KiB
8Elfogadva2/23ms2852 KiB
9Elfogadva2/23ms3200 KiB
10Elfogadva2/23ms3336 KiB
11Hibás válasz0/214ms4172 KiB
12Hibás válasz0/214ms4376 KiB
13Hibás válasz0/214ms4448 KiB
14Hibás válasz0/214ms4580 KiB
15Hibás válasz0/228ms5324 KiB
16Hibás válasz0/228ms5476 KiB
17Hibás válasz0/218ms4620 KiB
18Hibás válasz0/218ms4624 KiB
19Hibás válasz0/218ms4624 KiB
20Hibás válasz0/218ms4752 KiB
21Hibás válasz0/118ms4956 KiB
22Hibás válasz0/118ms5088 KiB
23Hibás válasz0/135ms5864 KiB
24Hibás válasz0/135ms5988 KiB
25Hibás válasz0/135ms6080 KiB
26Hibás válasz0/135ms6168 KiB
27Hibás válasz0/135ms6172 KiB
28Hibás válasz0/135ms6264 KiB