24862023-01-13 18:21:13kohumarkTV szolgáltatókcpp11Runtime error 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;
}
SubtaskSumTestVerdictTimeMemory
base0/40
1Accepted0/03ms2000 KiB
2Runtime error0/02ms2240 KiB
3Runtime error0/12ms2120 KiB
4Runtime error0/13ms2264 KiB
5Runtime error0/13ms2492 KiB
6Runtime error0/13ms2528 KiB
7Runtime error0/23ms2792 KiB
8Runtime error0/23ms2700 KiB
9Runtime error0/23ms2844 KiB
10Runtime error0/23ms3228 KiB
11Runtime error0/239ms5084 KiB
12Runtime error0/237ms5964 KiB
13Runtime error0/237ms6768 KiB
14Runtime error0/237ms7576 KiB
15Runtime error0/272ms10280 KiB
16Runtime error0/272ms11512 KiB
17Runtime error0/246ms11416 KiB
18Runtime error0/246ms12604 KiB
19Runtime error0/248ms13772 KiB
20Runtime error0/246ms14696 KiB
21Runtime error0/146ms15924 KiB
22Runtime error0/146ms16992 KiB
23Runtime error0/192ms20136 KiB
24Runtime error0/193ms21984 KiB
25Runtime error0/193ms24044 KiB
26Runtime error0/194ms25872 KiB
27Runtime error0/192ms27916 KiB
28Runtime error0/193ms30000 KiB