Submission #21284159


Source Code Expand

N, K = map(int, input().split())
X, Y = map(int, input().split())
C = [0] * 101010
t = 0
for a in map(int, input().split()):
    C[a] += 1
    t += a

ans = 10 ** 100
cx = 0
for m in range(10 ** 5 + 5, K, -1):
    while C[m]:
        cy = max(m if C[m] else m - 1, (t + K - 1) // K)
        ans = min(ans, cx * X + cy * Y)
        cx += 1
        C[m] -= 1
        C[m-K] += 1
        t -= K
        cy = max(m if C[m] else m - 1, (t + K - 1) // K)
        ans = min(ans, cx * X + cy * Y)
for m in range(K, -1, -1):
    cy = max(m if C[m] else m - 1, (t + K - 1) // K)
    ans = min(ans, cx * X + cy * Y)
    while C[m]:
        cx += 1
        C[m] -= 1
        t -= m
        cy = max(m if C[m] else m - 1, (t + K - 1) // K)
        ans = min(ans, cx * X + cy * Y)
print(ans)
    

Submission Info

Submission Time
Task F - Save Your MP
User Kiri8128
Language PyPy3 (7.3.0)
Score 0
Code Size 812 Byte
Status TLE
Exec Time 2208 ms
Memory 78348 KiB

Judge Result

Set Name sample All
Score / Max Score 0 / 0 0 / 100
Status
AC × 3
AC × 50
TLE × 6
Set Name Test Cases
sample 00_sample_00, 00_sample_01, 00_sample_02
All 00_sample_00, 00_sample_01, 00_sample_02, 00_small_00, 00_small_01, 00_small_02, 00_small_03, 00_small_04, 00_small_05, 00_small_06, 00_small_07, 00_small_08, 00_small_09, 01_random_00, 01_random_01, 01_random_02, 01_random_03, 01_random_04, 01_random_05, 01_random_06, 01_random_07, 01_random_08, 01_random_09, 02_large_00, 02_large_01, 02_large_02, 02_large_03, 02_large_04, 02_large_05, 02_large_06, 02_large_07, 02_large_08, 02_large_09, 03_edge_00, 03_edge_01, 03_edge_02, 03_edge_03, 03_edge_04, 03_edge_05, 03_edge_06, 03_edge_07, 03_edge_08, 03_edge_09, 03_edge_10, 03_edge_11, 03_edge_12, 03_edge_13, 03_edge_14, 03_edge_15, 03_edge_16, 03_edge_17, 03_edge_18, 03_edge_19, 04_corner_00, 04_corner_01, 04_corner_02
Case Name Status Exec Time Memory
00_sample_00 AC 68 ms 63872 KiB
00_sample_01 AC 57 ms 64008 KiB
00_sample_02 AC 54 ms 63944 KiB
00_small_00 AC 54 ms 64104 KiB
00_small_01 AC 54 ms 63780 KiB
00_small_02 AC 63 ms 68792 KiB
00_small_03 AC 54 ms 64084 KiB
00_small_04 AC 59 ms 64292 KiB
00_small_05 AC 50 ms 63808 KiB
00_small_06 AC 57 ms 64512 KiB
00_small_07 AC 55 ms 64332 KiB
00_small_08 AC 57 ms 64092 KiB
00_small_09 AC 54 ms 64388 KiB
01_random_00 AC 1270 ms 78180 KiB
01_random_01 TLE 2208 ms 77204 KiB
01_random_02 AC 1235 ms 78104 KiB
01_random_03 AC 705 ms 77812 KiB
01_random_04 AC 997 ms 77816 KiB
01_random_05 AC 969 ms 78124 KiB
01_random_06 AC 1373 ms 77764 KiB
01_random_07 TLE 2160 ms 77500 KiB
01_random_08 AC 718 ms 78144 KiB
01_random_09 AC 931 ms 78296 KiB
02_large_00 AC 94 ms 77396 KiB
02_large_01 AC 87 ms 77376 KiB
02_large_02 AC 86 ms 77552 KiB
02_large_03 AC 90 ms 77640 KiB
02_large_04 AC 94 ms 77252 KiB
02_large_05 AC 98 ms 77236 KiB
02_large_06 AC 91 ms 77460 KiB
02_large_07 AC 95 ms 76464 KiB
02_large_08 AC 100 ms 77460 KiB
02_large_09 AC 90 ms 77328 KiB
03_edge_00 AC 53 ms 64260 KiB
03_edge_01 AC 55 ms 64136 KiB
03_edge_02 AC 54 ms 63988 KiB
03_edge_03 AC 56 ms 64172 KiB
03_edge_04 AC 67 ms 68328 KiB
03_edge_05 AC 72 ms 68440 KiB
03_edge_06 TLE 2208 ms 78316 KiB
03_edge_07 AC 625 ms 77848 KiB
03_edge_08 TLE 2208 ms 77344 KiB
03_edge_09 TLE 2208 ms 78100 KiB
03_edge_10 TLE 2208 ms 78124 KiB
03_edge_11 AC 248 ms 77996 KiB
03_edge_12 AC 243 ms 77980 KiB
03_edge_13 AC 414 ms 77192 KiB
03_edge_14 AC 184 ms 78348 KiB
03_edge_15 AC 131 ms 77100 KiB
03_edge_16 AC 126 ms 78136 KiB
03_edge_17 AC 76 ms 75552 KiB
03_edge_18 AC 78 ms 77108 KiB
03_edge_19 AC 74 ms 76528 KiB
04_corner_00 AC 66 ms 68904 KiB
04_corner_01 AC 100 ms 72992 KiB
04_corner_02 AC 113 ms 77948 KiB