提出 #48014051


ソースコード 拡げる

N,M,*C = $<.read.split.map(&:to_i)
SC = C[1..].inject([C[0]]){|s,c| s<<s[-1]+c }<<0
SL,SM = (N-1)/2,N/2+1
K0,K1 = [(N+1)/2,N/2+1].map{|m| SC.index{|s| m<=s } }
DK = (K1-K0)*0.5
M0,M1 = (K0+K1)*0.5,(K0+K1)*0.5+1
L0 = 1.0*(0...K0).sum{|k| k*C[k] }
L1 = L0+SC[K0-1]
R0 = 1.0*(K1+1...M).sum{|k| k*C[k] }
R1 = R0+N-SC[K1]
D = lambda{|m|
	l0,l1,r0,r1 = L0,L1,R0,R1
	[K0,K1].uniq[0,2-N%2].each{|k|
		s0,s = SC[k-1],SC[k]
		l0 += k*[[s,SL].min-s0,0].max
		l1 += [k+1,m-DK].min*[[s,SL].min-s0,0].max
		r0 += [k,m+DK].max*[s-[s0,SM].max,0].max
		r1 += (k+1)*[s-[s0,SM].max,0].max
	}
	l = (l0+r0+m*(2-N%2))/N
	r = (l1+r1+m*(2-N%2))/N
	next m<l ? l-m : r<m ? m-r : 0.0
}
D0,D1 = D[M0],D[M1]
m0,m3 = M0,M1
d0,d3 = D0,D1
100.times{
	m1 = (m0+m0+m3)/3
	m2 = (m0+m3+m3)/3
	d1 = D[m1]
	d2 = D[m2]
	if d1<d2
		m3,d3 = m2,d2
	else
		m0,d0 = m1,d1
	end
}

p [D0,D1,d0].min

提出情報

提出日時
問題 N - 度数分布
ユーザ ds14050
言語 Ruby (ruby 3.2.2)
得点 6
コード長 892 Byte
結果 AC
実行時間 195 ms
メモリ 33732 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 6 / 6
結果
AC × 3
AC × 58
セット名 テストケース
Sample sample_01.txt, sample_02.txt, sample_03.txt
All random2_01.txt, random2_02.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, random_23.txt, random_24.txt, random_25.txt, random_26.txt, random_27.txt, random_28.txt, random_29.txt, random_30.txt, random_31.txt, random_32.txt, random_33.txt, random_34.txt, random_35.txt, random_36.txt, random_37.txt, random_38.txt, random_39.txt, random_40.txt, random_41.txt, random_42.txt, random_43.txt, random_44.txt, random_45.txt, random_46.txt, random_47.txt, random_48.txt, random_49.txt, random_50.txt, random_51.txt, random_52.txt, random_53.txt, sample_01.txt, sample_02.txt, sample_03.txt
ケース名 結果 実行時間 メモリ
random2_01.txt AC 195 ms 33332 KiB
random2_02.txt AC 105 ms 32708 KiB
random_01.txt AC 45 ms 17404 KiB
random_02.txt AC 45 ms 17420 KiB
random_03.txt AC 46 ms 17628 KiB
random_04.txt AC 46 ms 17500 KiB
random_05.txt AC 45 ms 17576 KiB
random_06.txt AC 45 ms 17484 KiB
random_07.txt AC 46 ms 17564 KiB
random_08.txt AC 46 ms 17424 KiB
random_09.txt AC 45 ms 17536 KiB
random_10.txt AC 45 ms 17428 KiB
random_11.txt AC 46 ms 17360 KiB
random_12.txt AC 46 ms 17408 KiB
random_13.txt AC 45 ms 17564 KiB
random_14.txt AC 46 ms 17444 KiB
random_15.txt AC 46 ms 17488 KiB
random_16.txt AC 45 ms 17388 KiB
random_17.txt AC 46 ms 17444 KiB
random_18.txt AC 45 ms 17536 KiB
random_19.txt AC 46 ms 17440 KiB
random_20.txt AC 45 ms 17460 KiB
random_21.txt AC 45 ms 17416 KiB
random_22.txt AC 45 ms 17632 KiB
random_23.txt AC 46 ms 17380 KiB
random_24.txt AC 46 ms 17504 KiB
random_25.txt AC 45 ms 17520 KiB
random_26.txt AC 46 ms 17440 KiB
random_27.txt AC 46 ms 17540 KiB
random_28.txt AC 45 ms 17376 KiB
random_29.txt AC 46 ms 17560 KiB
random_30.txt AC 47 ms 17388 KiB
random_31.txt AC 46 ms 17480 KiB
random_32.txt AC 101 ms 32596 KiB
random_33.txt AC 100 ms 32632 KiB
random_34.txt AC 101 ms 32956 KiB
random_35.txt AC 102 ms 32648 KiB
random_36.txt AC 101 ms 32756 KiB
random_37.txt AC 101 ms 33644 KiB
random_38.txt AC 102 ms 32728 KiB
random_39.txt AC 101 ms 32572 KiB
random_40.txt AC 101 ms 32724 KiB
random_41.txt AC 100 ms 32576 KiB
random_42.txt AC 102 ms 33328 KiB
random_43.txt AC 99 ms 33592 KiB
random_44.txt AC 102 ms 33732 KiB
random_45.txt AC 100 ms 32728 KiB
random_46.txt AC 102 ms 32532 KiB
random_47.txt AC 101 ms 32704 KiB
random_48.txt AC 101 ms 32572 KiB
random_49.txt AC 101 ms 32708 KiB
random_50.txt AC 99 ms 32700 KiB
random_51.txt AC 97 ms 32648 KiB
random_52.txt AC 101 ms 33656 KiB
random_53.txt AC 101 ms 33640 KiB
sample_01.txt AC 46 ms 17544 KiB
sample_02.txt AC 45 ms 17524 KiB
sample_03.txt AC 46 ms 17420 KiB