AtCoder Beginner Contest 004

Submission #3976692

Source codeソースコード

from math import *

R, G, B = [int(x) for x in input().strip().split()]
pr = -100
pg = 0
pb = 100
R0min = min(floor(-(R-1)/2) + pr, floor(-(B-1)/2) - G - R)
R0max = ceil(-(R-1)/2) + pr
B0min = floor(-(B-1)/2) + pb
B0max = max(ceil(-(B-1)/2) + pb, ceil((R-1)/2) + G)

def sumn(n):
    return int(n*(n+1)/2)

def calc_count(n, p0, p1, c):
    if p0 <= c and p1 >= c:
        return sumn(abs(p0-c)) + sumn(abs(p1-c))
    elif p0 > c:
        return (p0-c) * n + sumn(n-1)
    else:
        return (c-p1) * n + sumn(n-1)

minmove = 2**31

for r0 in range(R0min, R0max+1):
    for b0 in range(B0min, B0max+1):
        r1 = r0 + R - 1
        b1 = b0 + B - 1
        if G >= b0 - r1:
            continue
        if -(r1 + 1) <= b0 - 1:
            g0 = max(floor(-(G-1)/2), r1 + 1)
            g1 = g0 + G - 1
        else:
            g1 = min(ceil((G-1)/2), b0-1)
            g0 = g1 - G + 1
        count = 0
        count += calc_count(R, r0, r1, pr)
        count += calc_count(G, g0, g1, pg)
        count += calc_count(B, b0, b1, pb)
        if count <= minmove:
            minmove = count

print(minmove)

Submission

Task問題 D - マーブル
User nameユーザ名 masatomo
Created time投稿日時
Language言語 Python3 (3.4.3)
Status状態 AC
Score得点 100
Source lengthソースコード長 1151 Byte
File nameファイル名
Exec time実行時間 661 ms
Memory usageメモリ使用量 3188 KB

Test case

Set

Set name Score得点 / Max score Cases
sub1 10 / 10 sample_01_ABC.txt,test_ABC_01.txt,test_ABC_02.txt,test_ABC_03.txt,test_ABC_04.txt,test_ABC_05.txt,test_ABC_06.txt,test_ABC_07.txt,test_ABC_08.txt,test_ABC_09.txt,test_ABC_10.txt,test_ABC_11.txt,test_ABC_12.txt,test_ABC_13.txt,test_ABC_14.txt,test_ABC_15.txt,test_ABC_16.txt,test_ABC_17.txt,test_ABC_18.txt,test_ABC_19.txt,test_ABC_20.txt,test_ABC_21.txt,test_ABC_22.txt,test_ABC_23.txt,test_ABC_24.txt,test_ABC_25.txt,test_ABC_26.txt,test_ABC_27.txt,test_ABC_28.txt
sub2 30 / 30 sample_01_ABC.txt,sample_02_BC.txt,test_ABC_01.txt,test_ABC_02.txt,test_ABC_03.txt,test_ABC_04.txt,test_ABC_05.txt,test_ABC_06.txt,test_ABC_07.txt,test_ABC_08.txt,test_ABC_09.txt,test_ABC_10.txt,test_ABC_11.txt,test_ABC_12.txt,test_ABC_13.txt,test_ABC_14.txt,test_ABC_15.txt,test_ABC_16.txt,test_ABC_17.txt,test_ABC_18.txt,test_ABC_19.txt,test_ABC_20.txt,test_ABC_21.txt,test_ABC_22.txt,test_ABC_23.txt,test_ABC_24.txt,test_ABC_25.txt,test_ABC_26.txt,test_ABC_27.txt,test_ABC_28.txt,test_BC_29.txt,test_BC_30.txt,test_BC_31.txt,test_BC_32.txt,test_BC_33.txt,test_BC_34.txt,test_BC_35.txt,test_BC_36.txt,test_BC_37.txt,test_BC_38.txt,test_BC_39.txt,test_BC_40.txt,test_BC_41.txt,test_BC_42.txt,test_BC_43.txt,test_BC_44.txt,test_BC_45.txt,test_BC_46.txt,test_BC_47.txt,test_BC_48.txt,test_BC_49.txt,test_BC_50.txt,test_BC_51.txt,test_BC_52.txt,test_BC_53.txt,test_BC_54.txt,test_BC_55.txt
All 60 / 60 sample_01_ABC.txt,sample_02_BC.txt,sample_03_C.txt,test_ABC_01.txt,test_ABC_02.txt,test_ABC_03.txt,test_ABC_04.txt,test_ABC_05.txt,test_ABC_06.txt,test_ABC_07.txt,test_ABC_08.txt,test_ABC_09.txt,test_ABC_10.txt,test_ABC_11.txt,test_ABC_12.txt,test_ABC_13.txt,test_ABC_14.txt,test_ABC_15.txt,test_ABC_16.txt,test_ABC_17.txt,test_ABC_18.txt,test_ABC_19.txt,test_ABC_20.txt,test_ABC_21.txt,test_ABC_22.txt,test_ABC_23.txt,test_ABC_24.txt,test_ABC_25.txt,test_ABC_26.txt,test_ABC_27.txt,test_ABC_28.txt,test_BC_29.txt,test_BC_30.txt,test_BC_31.txt,test_BC_32.txt,test_BC_33.txt,test_BC_34.txt,test_BC_35.txt,test_BC_36.txt,test_BC_37.txt,test_BC_38.txt,test_BC_39.txt,test_BC_40.txt,test_BC_41.txt,test_BC_42.txt,test_BC_43.txt,test_BC_44.txt,test_BC_45.txt,test_BC_46.txt,test_BC_47.txt,test_BC_48.txt,test_BC_49.txt,test_BC_50.txt,test_BC_51.txt,test_BC_52.txt,test_BC_53.txt,test_BC_54.txt,test_BC_55.txt,test_C_56.txt,test_C_57.txt,test_C_58.txt,test_C_59.txt,test_C_60.txt,test_C_61.txt,test_C_62.txt,test_C_63.txt,test_C_64.txt,test_C_65.txt,test_C_66.txt,test_C_67.txt,test_C_68.txt,test_C_69.txt,test_C_70.txt,test_C_71.txt,test_C_72.txt,test_C_73.txt,test_C_74.txt,test_C_75.txt,test_C_76.txt,test_C_77.txt,test_C_78.txt,test_C_79.txt,test_C_80.txt,test_C_81.txt,test_C_82.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
sample_01_ABC.txt AC 18 ms 3064 KB
sample_02_BC.txt AC 18 ms 3188 KB
sample_03_C.txt AC 443 ms 3064 KB
test_ABC_01.txt AC 18 ms 3064 KB
test_ABC_02.txt AC 18 ms 3064 KB
test_ABC_03.txt AC 18 ms 3064 KB
test_ABC_04.txt AC 18 ms 3188 KB
test_ABC_05.txt AC 18 ms 3064 KB
test_ABC_06.txt AC 18 ms 3188 KB
test_ABC_07.txt AC 18 ms 3188 KB
test_ABC_08.txt AC 18 ms 3188 KB
test_ABC_09.txt AC 18 ms 3188 KB
test_ABC_10.txt AC 18 ms 3188 KB
test_ABC_11.txt AC 18 ms 3188 KB
test_ABC_12.txt AC 18 ms 3188 KB
test_ABC_13.txt AC 18 ms 3188 KB
test_ABC_14.txt AC 18 ms 3188 KB
test_ABC_15.txt AC 18 ms 3188 KB
test_ABC_16.txt AC 18 ms 3188 KB
test_ABC_17.txt AC 18 ms 3064 KB
test_ABC_18.txt AC 18 ms 3188 KB
test_ABC_19.txt AC 18 ms 3188 KB
test_ABC_20.txt AC 18 ms 3188 KB
test_ABC_21.txt AC 18 ms 3188 KB
test_ABC_22.txt AC 18 ms 3188 KB
test_ABC_23.txt AC 18 ms 3188 KB
test_ABC_24.txt AC 18 ms 3188 KB
test_ABC_25.txt AC 18 ms 3064 KB
test_ABC_26.txt AC 18 ms 3188 KB
test_ABC_27.txt AC 18 ms 3188 KB
test_ABC_28.txt AC 18 ms 3064 KB
test_BC_29.txt AC 18 ms 3188 KB
test_BC_30.txt AC 18 ms 3064 KB
test_BC_31.txt AC 18 ms 3188 KB
test_BC_32.txt AC 18 ms 3064 KB
test_BC_33.txt AC 18 ms 3188 KB
test_BC_34.txt AC 18 ms 3188 KB
test_BC_35.txt AC 18 ms 3188 KB
test_BC_36.txt AC 20 ms 3188 KB
test_BC_37.txt AC 18 ms 3188 KB
test_BC_38.txt AC 18 ms 3188 KB
test_BC_39.txt AC 18 ms 3188 KB
test_BC_40.txt AC 18 ms 3188 KB
test_BC_41.txt AC 18 ms 3188 KB
test_BC_42.txt AC 18 ms 3188 KB
test_BC_43.txt AC 18 ms 3188 KB
test_BC_44.txt AC 18 ms 3064 KB
test_BC_45.txt AC 18 ms 3188 KB
test_BC_46.txt AC 18 ms 3188 KB
test_BC_47.txt AC 18 ms 3064 KB
test_BC_48.txt AC 18 ms 3188 KB
test_BC_49.txt AC 18 ms 3188 KB
test_BC_50.txt AC 18 ms 3188 KB
test_BC_51.txt AC 18 ms 3188 KB
test_BC_52.txt AC 18 ms 3188 KB
test_BC_53.txt AC 18 ms 3064 KB
test_BC_54.txt AC 18 ms 3064 KB
test_BC_55.txt AC 18 ms 3188 KB
test_C_56.txt AC 76 ms 3188 KB
test_C_57.txt AC 127 ms 3188 KB
test_C_58.txt AC 233 ms 3064 KB
test_C_59.txt AC 170 ms 3188 KB
test_C_60.txt AC 52 ms 3188 KB
test_C_61.txt AC 71 ms 3188 KB
test_C_62.txt AC 51 ms 3188 KB
test_C_63.txt AC 193 ms 3188 KB
test_C_64.txt AC 48 ms 3188 KB
test_C_65.txt AC 88 ms 3188 KB
test_C_66.txt AC 143 ms 3188 KB
test_C_67.txt AC 184 ms 3064 KB
test_C_68.txt AC 25 ms 3188 KB
test_C_69.txt AC 52 ms 3188 KB
test_C_70.txt AC 84 ms 3188 KB
test_C_71.txt AC 207 ms 3188 KB
test_C_72.txt AC 304 ms 3064 KB
test_C_73.txt AC 271 ms 3188 KB
test_C_74.txt AC 287 ms 3188 KB
test_C_75.txt AC 126 ms 3188 KB
test_C_76.txt AC 351 ms 3188 KB
test_C_77.txt AC 150 ms 3064 KB
test_C_78.txt AC 343 ms 3188 KB
test_C_79.txt AC 27 ms 3188 KB
test_C_80.txt AC 134 ms 3188 KB
test_C_81.txt AC 27 ms 3188 KB
test_C_82.txt AC 661 ms 3188 KB