115552024-10-26 19:03:36balintPontos átlag 2python3Elfogadva 100/1001.879s26228 KiB
def main():
    N, K = map(int, input().strip().split())
    nums = list(map(int, input().strip().split()))

    target_sum = K * N 

    def can_achieve_with_C(C):
        lower_sum, upper_sum = 0, 0
        for num in nums:
            lower_sum += max(num - C, 1)
            upper_sum += num + C

        return lower_sum <= target_sum <= upper_sum
    
    left, right = 0, max(abs(K - min(nums)), abs(K - max(nums)))
    while left < right:
        mid = (left + right) // 2
        if can_achieve_with_C(mid):
            right = mid 
        else:
            left = mid + 1
    
    print(left)

main()
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva16ms3316 KiB
2Elfogadva16ms3128 KiB
subtask210/10
3Elfogadva14ms3060 KiB
4Elfogadva16ms3128 KiB
5Elfogadva16ms3076 KiB
6Elfogadva16ms3124 KiB
7Elfogadva16ms3128 KiB
8Elfogadva16ms2972 KiB
subtask320/20
9Elfogadva152ms6812 KiB
10Elfogadva153ms7088 KiB
11Elfogadva194ms6468 KiB
12Elfogadva199ms6456 KiB
13Elfogadva204ms6780 KiB
14Elfogadva153ms7064 KiB
15Elfogadva204ms7032 KiB
16Elfogadva203ms7220 KiB
17Elfogadva16ms3128 KiB
subtask424/24
18Elfogadva26ms3120 KiB
19Elfogadva26ms3124 KiB
20Elfogadva25ms3320 KiB
21Elfogadva19ms3132 KiB
22Elfogadva20ms3248 KiB
23Elfogadva23ms3016 KiB
24Elfogadva24ms3012 KiB
25Elfogadva25ms3052 KiB
26Elfogadva24ms3128 KiB
27Elfogadva19ms3116 KiB
28Elfogadva17ms3128 KiB
subtask546/46
29Elfogadva203ms7112 KiB
30Elfogadva804ms26228 KiB
31Elfogadva790ms15856 KiB
32Elfogadva1.179s21184 KiB
33Elfogadva1.345s25000 KiB
34Elfogadva1.578s24980 KiB
35Elfogadva1.745s24844 KiB
36Elfogadva1.781s24908 KiB
37Elfogadva1.879s24836 KiB
38Elfogadva1.83s24620 KiB
39Elfogadva677ms10644 KiB
40Elfogadva41ms3640 KiB
41Elfogadva17ms3128 KiB