24922023-01-13 19:23:45kohumarkTV szolgáltatókcpp11Hibás válasz 9/4035ms5676 KiB
#include <iostream>
#include <climits>
using namespace std;

int main(){
	ios_base::sync_with_stdio(false); cin.tie(NULL);
	int n, k; 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]--;
	}
	int petakmi=0; int petakma=0;
	
	
	int mi=k-1; int ma=veg;
	while(ma-mi>1){
		petakmi=0; petakma=0;
		for(int i=0; i<n; i++){
			if(mi-k+1<bj[i][0]) petakmi+=bj[i][0]-(mi-k+1);
			if(mi>bj[i][1]) petakmi+=mi-bj[i][1];
			if(ma-k+1<bj[i][0]) petakma+=bj[i][0]-(ma-k+1);
			if(ma>bj[i][1]) petakma+=ma-bj[i][1];
		}
		if(petakmi<petakma) ma=(mi+ma)/2;
		else mi=(mi+ma)/2;
	}
	
	petakmi=0; petakma=0;
	for(int i=0; i<n; i++){
		if(mi-k+1<bj[i][0]) petakmi+=bj[i][0]-(mi-k+1);
		if(mi>bj[i][1]) petakmi+=mi-bj[i][1];
		if(ma-k+1<bj[i][0]) petakma+=bj[i][0]-(ma-k+1);
		if(ma>bj[i][1]) petakma+=ma-bj[i][1];
	}
		
	cout << min(petakmi,petakma);
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base9/40
1Elfogadva0/03ms1764 KiB
2Elfogadva0/02ms1928 KiB
3Elfogadva1/12ms2152 KiB
4Elfogadva1/12ms2356 KiB
5Hibás válasz0/12ms2568 KiB
6Elfogadva1/12ms2792 KiB
7Elfogadva2/22ms2876 KiB
8Hibás válasz0/22ms2844 KiB
9Elfogadva2/22ms2848 KiB
10Elfogadva2/22ms2916 KiB
11Hibás válasz0/214ms3960 KiB
12Hibás válasz0/214ms3804 KiB
13Hibás válasz0/216ms3808 KiB
14Hibás válasz0/214ms3932 KiB
15Hibás válasz0/228ms4912 KiB
16Hibás válasz0/228ms5124 KiB
17Hibás válasz0/218ms4428 KiB
18Hibás válasz0/218ms4472 KiB
19Hibás válasz0/218ms4552 KiB
20Hibás válasz0/218ms4760 KiB
21Hibás válasz0/118ms4724 KiB
22Hibás válasz0/118ms4680 KiB
23Hibás válasz0/135ms5544 KiB
24Hibás válasz0/135ms5548 KiB
25Hibás válasz0/135ms5624 KiB
26Hibás válasz0/135ms5448 KiB
27Hibás válasz0/135ms5456 KiB
28Hibás válasz0/135ms5676 KiB