24862023-01-13 18:21:13kohumarkTV szolgáltatókcpp11Futási hiba 0/4094ms30000 KiB
#include <iostream>
using namespace std;

int main(){
	int n, k; cin >> n >> k;
	int bj[n][2];
	double atl; int veg=0; int szolg[n];
	for(int i=0; i<n; i++){
		szolg[i]=0;
		cin >> bj[i][0] >> bj[i][1];
		bj[i][0]--; bj[i][1]--;
		veg=max(veg,bj[i][1]);
		atl+=(double)(bj[i][0]+bj[i][1])/2;
	}
	atl=atl/n;
	int petak=0;
	for(int i=0; i<n; i++){
		if(abs(bj[i][0]-atl)<abs(bj[i][1]-atl)){
			if(bj[i][0]<=atl) break;
			else{
				int uj=(int)(atl+0.5);
				petak+=bj[i][0]-uj;
				bj[i][0]=uj;
			}
		}
		else{
			if(bj[i][1]>=atl) break;
			else{
				int uj=(int)(atl-0.5);
				petak+=uj-bj[i][1];
				bj[i][1]=uj;
			}
		}
	}
	
	
	int jo=0;
	for(int i=0; i<n; i++){
		for(int j=bj[i][0]; j<bj[i][1]+1; j++){
			szolg[j]++;
			if(szolg[j]==n) jo++;
		}
	}
	
	
	int bal=(int)(atl-0.5);
	int jobb=(int)(atl+0.5);
	while(k!=jo){
		if(szolg[bal]<szolg[jobb]&&bal>-1){
			petak+=(veg-szolg[bal]);
			if(bal==jobb) jobb++;
			jo++; bal--;
		}
		else{
			petak+=(veg-szolg[jobb]);
			jo++; jobb++;
		}
	}
	
	cout << petak;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/40
1Elfogadva0/03ms2000 KiB
2Futási hiba0/02ms2240 KiB
3Futási hiba0/12ms2120 KiB
4Futási hiba0/13ms2264 KiB
5Futási hiba0/13ms2492 KiB
6Futási hiba0/13ms2528 KiB
7Futási hiba0/23ms2792 KiB
8Futási hiba0/23ms2700 KiB
9Futási hiba0/23ms2844 KiB
10Futási hiba0/23ms3228 KiB
11Futási hiba0/239ms5084 KiB
12Futási hiba0/237ms5964 KiB
13Futási hiba0/237ms6768 KiB
14Futási hiba0/237ms7576 KiB
15Futási hiba0/272ms10280 KiB
16Futási hiba0/272ms11512 KiB
17Futási hiba0/246ms11416 KiB
18Futási hiba0/246ms12604 KiB
19Futási hiba0/248ms13772 KiB
20Futási hiba0/246ms14696 KiB
21Futási hiba0/146ms15924 KiB
22Futási hiba0/146ms16992 KiB
23Futási hiba0/192ms20136 KiB
24Futási hiba0/193ms21984 KiB
25Futási hiba0/193ms24044 KiB
26Futási hiba0/194ms25872 KiB
27Futási hiba0/192ms27916 KiB
28Futási hiba0/193ms30000 KiB