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

int mi, ma, x, n, k;

int 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/03ms1764 KiB
2Elfogadva0/02ms1928 KiB
3Elfogadva1/12ms2136 KiB
4Elfogadva1/12ms2208 KiB
5Elfogadva1/12ms2344 KiB
6Elfogadva1/12ms2556 KiB
7Elfogadva2/22ms2776 KiB
8Elfogadva2/22ms2852 KiB
9Elfogadva2/22ms2852 KiB
10Elfogadva2/22ms3128 KiB
11Hibás válasz0/214ms3884 KiB
12Hibás válasz0/214ms3956 KiB
13Hibás válasz0/214ms3956 KiB
14Hibás válasz0/214ms3952 KiB
15Hibás válasz0/228ms4732 KiB
16Hibás válasz0/228ms4856 KiB
17Hibás válasz0/218ms4160 KiB
18Hibás válasz0/218ms4156 KiB
19Hibás válasz0/218ms4276 KiB
20Hibás válasz0/218ms4480 KiB
21Hibás válasz0/118ms4556 KiB
22Hibás válasz0/118ms4552 KiB
23Hibás válasz0/135ms5556 KiB
24Hibás válasz0/135ms5756 KiB
25Hibás válasz0/135ms5740 KiB
26Hibás válasz0/135ms5744 KiB
27Hibás válasz0/135ms5744 KiB
28Hibás válasz0/135ms5748 KiB