[python] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต 1๊ถŒ :: ๋กํŽ˜์Šคํ‹ฐ๋ฒŒ (p6) ๋ฌธ์ œ

๋ฌธ์ œ : ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต [๋กํŽ˜์Šคํ‹ฐ๋ฒŒ] p6

๋ฌธ์ œ

์ปค๋‹ค๋ž€ ๊ณต์—ฐ์žฅ์„ ๋นŒ๋ ค์„œ ๋ก ํŽ˜์Šคํ‹ฐ๋ฒŒ์„ ๊ฐœ์ตœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด ํŽ˜์Šคํ‹ฐ๋ฒŒ์€ ์—ฌ๋Ÿฌ ๋‚  ๋™์•ˆ ์ง„ํ–‰๋˜๋ฉฐ, ํ•˜๋ฃจ์— ํ•œ ํŒ€์˜ ๋ฐด๋“œ๊ฐ€ ๊ณต์—ฐ์žฅ์—์„œ ์ฝ˜์„œํŠธ๋ฅผ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ „์ฒด ๋ฐด๋“œ๋ฅผ ๋ช‡ ํŒ€ ์„ญ์™ธํ•  ์ง€๋Š” ์•„์ง ๊ฒฐ์ •ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ, ํŽ˜์Šคํ‹ฐ๋ฒŒ์˜ ๊ฐ„ํŒ ์Šคํƒ€์ธ L๊ฐœ์˜ ํŒ€์€ ์ด๋ฏธ ์„ญ์™ธ๊ฐ€ ๋๋‚œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํŽ˜์Šคํ‹ฐ๋ฒŒ์€ ์ตœ์†Œ L์ผ ์ด์ƒ ์ง„ํ–‰ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด๋ฒˆ์— ์‚ฌ์šฉํ•  ๊ณต์—ฐ์žฅ์€ ํ•˜๋ฃจ ๋นŒ๋ฆฌ๋Š” ๋ฐ ๋“œ๋Š” ๋น„์šฉ์ด ๋งค์ผ ๋งค์ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋•Œ๋ฌธ์— ๊ณต์—ฐ ์ผ์ •์„ ์ž˜ ์ •ํ•ด์„œ ๊ณต์—ฐ์žฅ ๋Œ€์—ฌ ๋น„์šฉ์„ ์ค„์ด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์•ž์œผ๋กœ N์ผ๊ฐ„์˜ ๊ณต์—ฐ์žฅ ๋Œ€์—ฌ ๋น„์šฉ์„ ์•Œ๊ณ  ์žˆ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค. ์ด ์ค‘ L์ผ ์ด์ƒ์„ ์—ฐ์†ํ•ด์„œ ๋Œ€์—ฌํ•˜๋˜, ๊ณต์—ฐ์žฅ์„ ํ•˜๋ฃจ ๋นŒ๋ฆฌ๋Š” ๋ฐ ๋“œ๋Š” ํ‰๊ท  ๋น„์šฉ์„ ์ตœ์†Œํ™”ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ๊ณต์—ฐ์žฅ์„ ๋นŒ๋ ค์•ผ ํ• ๊นŒ์š”?

์˜ˆ๋ฅผ ๋“ค์–ด ์•ž์œผ๋กœ 6์ผ๊ฐ„ ๊ณต์—ฐ์žฅ์„ ๋นŒ๋ฆฌ๋Š” ๋ฐ ๋“œ๋Š” ๋น„์šฉ์ด ๊ฐ {3, 1, 2, 3, 1, 2}๋ผ๊ณ  ํ•ฉ์‹œ๋‹ค. ์ด๋ฏธ ์„ธ ํŒ€์„ ์„ญ์™ธํ–ˆ๋‹ค๊ณ  ํ•˜๋ฉด, 3์ผ ๋Œ€์‹  4์ผ ๋™์•ˆ ๊ณต์—ฐ์„ ์ง„ํ–‰ํ•ด์„œ ํ‰๊ท  ๋น„์šฉ์„ ๋” ์ €๋ ดํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 3์ผ ๋™์•ˆ์˜ ํ‰๊ท  ๋Œ€์—ฌ ๋น„์šฉ์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ 2์ผ์งธ๋ถ€ํ„ฐ 4์ผ์งธ๊นŒ์ง€ ๊ณต์—ฐ์žฅ์„ ๋Œ€์—ฌํ•˜๋Š” ๊ฒƒ์ธ๋ฐ, ์ด ๋•Œ ํ•˜๋ฃจ ํ‰๊ท  (1+2+3)/3 = 2์˜ ๋น„์šฉ์ด ๋“ญ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด 2์ผ์งธ๋ถ€ํ„ฐ 5์ผ์งธ๊นŒ์ง€ ๊ณต์—ฐ์žฅ์„ ๋Œ€์—ฌํ•˜๋ฉด ํ‰๊ท  ๋น„์šฉ์ด (1+2+3+1)/4 = 7/4๋ฐ–์— ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž…๋ ฅ

์ž…๋ ฅ์˜ ์ฒซ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ˆ˜ C (C ≤ 100)๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ ์ค„์—๋Š” ๊ณต์—ฐ์žฅ์„ ๋Œ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ ๋“ค์˜ ์ˆ˜ N (1 ≤ N ≤ 1000)๊ณผ ์ด๋ฏธ ์„ญ์™ธํ•œ ๊ณต์—ฐ ํŒ€์˜ ์ˆ˜ L (1 ≤ L ≤ 1000, L ≤ N)์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๊ทธ ๋‹ค์Œ ์ค„์—๋Š” N๊ฐœ์˜ ์ˆซ์ž๋กœ ๊ณต์—ฐ์žฅ ๋Œ€์—ฌ ๋น„์šฉ์ด ๋‚ ์งœ๋ณ„๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋ชจ๋“  ๋น„์šฉ์€ 100 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.

์ถœ๋ ฅ

์ž…๋ ฅ์— ์ฃผ์–ด์ง€๋Š” ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค ํ•œ ์ค„์— ์ตœ์†Œ์˜ ํ‰๊ท  ๋Œ€์—ฌ ๋น„์šฉ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. 10-7 ์ดํ•˜์˜ ์ ˆ๋Œ€/์ƒ๋Œ€ ์˜ค์ฐจ๊ฐ€ ์žˆ๋Š” ๋‹ต์€ ์ •๋‹ต ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

๋‚˜์˜ ๋‹ต

1๋ฒˆ์งธ ๋‹ต

์ฒ˜์Œ์—๋Š” ๋‹จ์ˆœํžˆ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ด๋ณด๋Š” ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด๋ณผ๊นŒ ์ƒ๊ฐํ•ด๋ดค๋‹ค. (๋‹จ์ˆœ, ๋ฌด์‹ํ•˜๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์„๊นŒ?) ํ•˜์ง€๋งŒ, test case ์ˆ˜๋„ 100๊ฐœ์ผ ๋ฟ๋”๋Ÿฌ ๋Œ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ ์˜ ์ˆ˜๊ฐ€ ์ตœ๋Œ€ 1000์ผ์ด๊ธฐ ๋•Œ๋ฌธ์— ํž˜๋“ค๊ฒ ๋‹ค๊ณ  ์˜ˆ์ƒํ–ˆ๋‹ค. ์•„๋ž˜์˜ ์ฝ”๋“œ๋Š” ์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ sliding window ๋ฐฉ์‹์œผ๋กœ ์˜ฎ๊ฒจ๊ฐ€๋ฉฐ ๋ชจ๋“  ํ‰๊ท ์„ ๊ณ„์‚ฐํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค.

for i in range(1,len(Day)): => Day-team์œผ๋กœ ๊ณ ์ณ์•ผํ•จ...
    for j in range(0,len(Day)-i+1):
        for k in range(j,j+i):
            result += expense[k]
        result /= i
        if ex_min > result:
            ex_min = result

์ด ์ฝ”๋“œ์˜ ๋ณต์žก๋„๋Š” O(N^3) ์ด๋ฏ€๋กœ ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์—†๋‹ค.

๋”ฐ๋ผ์„œ, ๋” ๋น ๋ฅด๊ฒŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์„๊นŒ ์ƒ๊ฐํ•ด๋ณด๋‹ค๊ฐ€

ํ‰๊ท ์„ ๊ณ„์‚ฐํ•˜๊ณ  ๋Œ€์†Œ๋ฅผ ๋น„๊ตํ•˜๋Š” ๊ฒƒ๊ณผ ํ•ฉ์„ ๊ณ„์‚ฐํ•˜๊ณ  ๋Œ€์†Œ๋ฅผ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด ๋‚ ์˜ ์ˆ˜๊ฐ€ ๊ฐ™์„ ๋•Œ๋Š” ์ฐจ์ด๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๊ณ , ๊ฐ™์€ ๋‚ ์˜ ์ˆ˜๋ฅผ ๋น„๊ตํ•  ๋•Œ๋Š” ํ•ฉ๋งŒ ๊ณ„์‚ฐํ•ด์„œ ๋น„๊ตํ•˜๋ฉด ๋˜๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‚˜๋ˆ—์…ˆ ์—ฐ์‚ฐ์ด ๋ช‡ ๋ฒˆ ๋น ์กŒ์„ ๋ฟ ๋ฐ˜๋ณต๋ฌธ์˜ ํšŸ์ˆ˜์ฐจ์ด์—๋Š” ๊ธฐ์—ฌํ•˜์ง€ ๋ชปํ•˜๋ฏ€๋กœ ๋ณต์žก๋„๋Š” ๊ฐ™์•˜๋‹ค.

2๋ฒˆ์งธ ๋‹ต

๊ณ„์† ์ƒ๊ฐํ•ด๋ณด๋˜ ์ค‘, ๊ณ„์‚ฐํ•ด์•ผํ•˜๋Š” ๋‚ ๋“ค์˜ ์ˆ˜๋ฅผ ์ค„์—ฌ๋ณด๋ฉด ์–ด๋–จ๊นŒ ์‹ถ์—ˆ๋‹ค. day๊ฐ€ 7์ด๊ณ  team์ด 5์ผ ๋•Œ, ์ตœ์†Œ 5ํŒ€์ด ํŽ˜์Šคํ‹ฐ๋ฒŒ์— ์ฐธ์—ฌํ•˜๋ฏ€๋กœ 5๊ฐœ์˜ ๋น„์šฉ์„ ๋ฌถ์€ ๊ฒฝ์šฐ๋ถ€ํ„ฐ ๊ณ„์‚ฐ์„ ํ•ด์•ผํ•œ๋‹ค. ์ด ๋•Œ, 5์ผ ํŽ˜์Šคํ‹ฐ๋ฒŒ์„ ์ง„ํ–‰ํ•  ๋•Œ ๊ฐ€์žฅ ํ‰๊ท ์ด ์ ์€ ์—ฐ์†๋œ ๋‚ ์„ ๊ตฌํ•˜๋ ค๋ฉด ๋”ํ•ด์„œ ํ‰๊ท  ๋‚ด๊ธฐ๋ณด๋‹ค ๋” ์ ์€ ์ˆ˜์ธ ๋‚จ์€ 2์ผ์˜ ํ•ฉ์ด ํฐ ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ฅด๋ฉด ๋œ๋‹ค. ์œ„์˜ ๊ทธ๋ฆผ์—์„œ๋Š” ์ค‘๊ฐ„์˜ ๊ฒฝ์šฐ(2๋ฒˆ์งธ ๊ฒฝ์šฐ)๊ฐ€ 4๋กœ ๊ฐ€์žฅ ํฌ๋ฏ€๋กœ ๋น„์šฉ์˜ ์ดํ•ฉ์ด ๊ฐ™๋‹ค๋Š” ์ „์ œ ํ•˜์— ๋‚จ์€ ๋‚ ๋“ค์˜ ํ•ฉ์ด ์ค‘๊ฐ„์˜ ๊ฒฝ์šฐ๊ฐ€ ๊ฐ€์žฅ ์ž‘๋‹ค๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์‰ฝ๊ฒŒ ๋งํ•ด์„œ, ๋งŽ์€ ์ˆ˜์˜ ๊ณ„์‚ฐ์ด ํ•„์š”ํ•œ ์ตœ์†Œํ™” ๋ฌธ์ œ๋ฅผ ์ ์€ ์ˆ˜์˜ ๊ณ„์‚ฐ์œผ๋กœ ๊ฐ€๋Šฅํ•œ ์ตœ๋Œ€ํ™” ๋ฌธ์ œ๋กœ ๋งŒ๋“ค์ž๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” team์ด 1์ผ ๋•Œ ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๋น„์Šทํ•œ ์„ฑ๋Šฅ์„ ๋‚ด๊ณ , team์ด ์ปค์งˆ ์ˆ˜๋ก ํšจ์œจ์ด ์ปค์ง„๋‹ค. ํ•˜์ง€๋งŒ ๊ถ๊ทน์ ์œผ๋กœ for๋ฌธ์˜ ์ˆ˜๋ฅผ ์ค„์ด์ง€ ๋ชปํ–ˆ์œผ๋ฏ€๋กœ ์—ญ์‹œ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” ๊ฐ™์•˜๋‹ค.

# ๋กํŽ˜์Šคํ‹ฐ๋ฒŒ
# 2020-02-04

testcase = int(input()) 
ex_min = [] # testcase ๊ฐ๊ฐ์˜ ์ตœ์†Œ๊ฐ’๋“ค์„ ๋‹ด์•„๋‘๋Š” ํ–‰๋ ฌ

for case in range(0,testcase): # testcase
    dayteam = input() # ๋ฌธ์ž์—ด๋กœ ๋ฐ›๊ธฐ
    expense= input()

    Expense = [] # ํ•ด๋‹น ๋‚ ์งœ์˜ ๊ธˆ์•ก
    Day = int() # ๋‚ ๋“ค์˜ ์ˆ˜
    Team = int() # ์ด๋ฏธ ์„ญ์™ธํ•œ ํŒ€์˜ ์ˆ˜
    ex_sum = int() # ์กด์žฌํ•˜๋Š” ๋‚ ์งœ์˜ ๊ธˆ์•ก ์ดํ•ฉ
    obj_index = int() # ๊ณต๋ฐฑ index ์ฝ๊ธฐ
    obj_index_bf = int(0) # ์ด์ „ index ์ฝ๊ธฐ

    # ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ '๋‚  ์ˆ˜', '์„ญ์™ธ๋œ ํŒ€ ์ˆ˜' ๋Š์–ด์ฝ๊ธฐ
    for index in range(0,len(dayteam)):
        if dayteam[index]==" ":
            obj_index = index

    Day = int(dayteam[:obj_index])
    Team = int(dayteam[obj_index:])

    # ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ '๊ธˆ์•ก' ๋Š์–ด์ฝ๊ธฐ

    for index in range(0,len(expense)):
        if expense[index]==" ":
            obj_index = index
            Expense.append(int(expense[obj_index_bf:obj_index]))
            obj_index_bf = obj_index
        elif index == len(expense)-1:
            Expense.append(int(expense[obj_index_bf:]))

    # ๊ธˆ์•ก์˜ ํ•ฉ ๊ณ„์‚ฐ

    for index in range(0,len(Expense)):
        ex_sum+=Expense[index]

    ex_min.append(ex_sum/Day)

    for i in range(1,Day-Team+1): # ๋‚จ๋Š” ๋ฐฐ์—ด์„ ์ด์šฉํ•ด์„œ
        tmp = 0
        for j in range(0,i): # ํ•ฉ์ด ๊ฐ€์žฅ ํฐ ๋ฐฐ์—ด ์ฐพ๊ธฐ => ๋‚˜๋จธ์ง€์˜ ํ•ฉ์€ ๊ฐ€์žฅ ์ž‘์€ ๋ฐฐ์—ด
            result = 0
            for k in range(0,j):
                result += Expense[k]
            for k in range(Day-i+j,Day):
                result += Expense[k]
            if result>=tmp:
                tmp = result
        mean = (ex_sum-tmp)/(Day-i) # ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•ด๋‘” ์ด ํ•ฉ - ๋‚จ๋Š” ๋ฐฐ์—ด์˜ ํ•ฉ
        if ex_min[case] >= mean:
            ex_min[case] = mean
        else:
            continue

for case in range(0,testcase):
    print(ex_min[case])

๋‹ค๋ฅธ ๋‹ต

๊ฒฐ๊ตญ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฐพ์•„๋ณด๊ณ  ๊ฒฐ๋ก ์„ ๋‚ด์—ˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ค‘๋ณต๋˜๋Š” ๊ณ„์‚ฐ์„ ์ค„์ด๊ณ ์ž ์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ๋”ํ•ด๊ฐ€๋ฉฐ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋‚ ์˜ ์ˆ˜๋ฅผ ์ผ์น˜์‹œ์ผœ์„œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‚˜๋ˆˆ ํ›„, ๊ฒฝ์šฐ์˜ ์ˆ˜์—์„œ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ์œผ๋ ค๊ณ  ํ–ˆ๋˜ ๋‚˜๋Š” ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ณด๊ณ  ๊นจ๋‹ฌ์•˜๋‹ค. ์ˆ˜ํ•™์ ์œผ๋กœ ์ƒ๊ฐํ•˜๋‹ค๊ฐ€ ํ‹€๋ฆฌ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ต‰์žฅํžˆ ๋งŽ์€๋ฐ ์ด๋ฒˆ์—๋„ ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์ธ๊ฑฐ ๊ฐ™๋‹ค.

# ๋กํŽ˜์Šคํ‹ฐ๋ฒŒ
# 2020-02-04

testcase = int(input()) 
ex_min = [] # testcase ๊ฐ๊ฐ์˜ ์ตœ์†Œ๊ฐ’๋“ค์„ ๋‹ด์•„๋‘๋Š” ํ–‰๋ ฌ

for case in range(0,testcase): # testcase
    dayteam = input() # ๋ฌธ์ž์—ด๋กœ ๋ฐ›๊ธฐ
    expense= input()

    Expense = [] # ํ•ด๋‹น ๋‚ ์งœ์˜ ๊ธˆ์•ก
    Day = int() # ๋‚ ๋“ค์˜ ์ˆ˜
    Team = int() # ์ด๋ฏธ ์„ญ์™ธํ•œ ํŒ€์˜ ์ˆ˜
    ex_sum = int() # ์กด์žฌํ•˜๋Š” ๋‚ ์งœ์˜ ๊ธˆ์•ก ์ดํ•ฉ
    obj_index = int() # ๊ณต๋ฐฑ index ์ฝ๊ธฐ
    obj_index_bf = int(0) # ์ด์ „ index ์ฝ๊ธฐ

    # ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ '๋‚  ์ˆ˜', '์„ญ์™ธ๋œ ํŒ€ ์ˆ˜' ๋Š์–ด์ฝ๊ธฐ
    for index in range(0,len(dayteam)):
        if dayteam[index]==" ":
            obj_index = index

    Day = int(dayteam[:obj_index])
    Team = int(dayteam[obj_index:])

    # ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ '๊ธˆ์•ก' ๋Š์–ด์ฝ๊ธฐ

    for index in range(0,len(expense)):
        if expense[index]==" ":
            obj_index = index
            Expense.append(int(expense[obj_index_bf:obj_index]))
            obj_index_bf = obj_index
        elif index == len(expense)-1:
            Expense.append(int(expense[obj_index_bf:]))

    ex_min.append(int(987654321))

'''์ฃผ์š”์ฝ”๋“œ'''
    for i in range(0,Day-Team+1): # ์‹œ์ž‘ index
        tmp_sum=0
        tmp_mean=0
        for j in range(0,Team): # ์ตœ์†Œ ๋‚  ์ˆ˜
            tmp_sum+=Expense[i+j]
        tmp_mean = tmp_sum/Team
        if tmp_mean<=ex_min[case]:
            ex_min[case]=tmp_mean
        for j in range(Team,Day-i) : # ๊ณ„์‚ฐํ•  ๋‚  ์ˆ˜
            tmp_sum+=Expense[i+j]
            if tmp_mean>tmp_sum/(j+1):
                tmp_mean=tmp_sum/(j+1)
                if tmp_mean<=ex_min[case]:
                    ex_min[case]=tmp_mean
'''์ฃผ์š”์ฝ”๋“œ'''

for case in range(0,testcase):
    print(ex_min[case])

์ฃผ์š”์ฝ”๋“œ ๋ถ€๋ถ„๋งŒ ๋ณด๋ฉด, i๋Š” ์š”์†Œ๋“ค์˜ ํ•ฉ ๊ณ„์‚ฐ์ด ์‹œ์ž‘๋˜๋Š” index์ด๋‹ค. ์ฒซ๋ฒˆ์งธ j for๋ฌธ์€ ์ฃผ์–ด์ง„ Team์— ์˜ํ•ด ๊ฒฐ์ •๋˜๋ฉฐ, index i๋ถ€ํ„ฐ ๊ฐ€๋Šฅํ•œ ํ•œ ๊ฐ€์žฅ ์ ์€ ๋‚ ๋™์•ˆ ํŽ˜์Šคํ‹ฐ๋ฒŒ์„ ์ฃผ์ตœํ•œ๋‹ค๊ณ  ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋น„์šฉ์˜ ํ‰๊ท ์„ ๊ณ„์‚ฐํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. ๋‹ค์Œ j for๋ฌธ์€ ์ฃผ์–ด์ง„ ์ตœ์†Œ์˜ ๋‚  ์ด์ƒ ํŽ˜์Šคํ‹ฐ๋ฒŒ์„ ์ฃผ์ตœํ•œ๋‹ค๊ณ  ํ•  ๋•Œ์˜ ๊ฒฝ์šฐ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

์ด์™€ ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐ€์ง€๊ณ  ์ฝ”๋“œ๋ฅผ ์งœ๋ณด๋‹ˆ index๊ฐ€ ํ—ท๊ฐˆ๋ ค์„œ ๊ฐ„๋‹จํ•˜๊ณ  ์ ์€ ์–‘์˜ ์ฝ”๋“œ๋ฅผ ์งœ๋Š”๋ฐ ์‹œ๊ฐ„์ด ๊ฝค ๊ฑธ๋ฆฌ๊ธดํ–ˆ๋‹ค. ์ค‘์š”ํ•œ ๊ฑด ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ์ค„์—ˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. for๋ฌธ์ด ํ•˜๋‚˜ ์‚ฌ๋ผ์ง์œผ๋กœ ์ธํ•ด์„œ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ๊ฐ์†Œํ•˜์˜€๊ณ , ์•„์ง๊นŒ์ง€๋Š” ๋” ๋‚˜์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฐพ์ง€ ๋ชปํ•˜์˜€๋‹ค.

๊ฒฐ๋ก 

์ˆ˜ํ•™์ ์œผ๋กœ ์ƒ๊ฐํ•˜๊ธฐ ์ „์—, ๋ฌธ์ œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์ž๋Š” ์ƒ๊ฐ์„ ํ•˜์ž.

๋ฐ˜์‘ํ˜•