Submission #21284431
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]: # 雑な高速化 if m - 1 > (t + K - 1) // K and C[m] >= 3: cy = max(m if C[m] else m - 1, (t + K - 1) // K) ans = min(ans, cx * X + cy * Y) d = C[m] - 2 cx += d C[m] -= d C[m-K] += d t -= K * d dd = (t + K - 1) // K - (m - 1) if dd >= 5 and C[m] >= 3: cy = max(m if C[m] else m - 1, (t + K - 1) // K) ans = min(ans, cx * X + cy * Y) d = min(dd - 3, C[m] - 2) cx += d C[m] -= d C[m-K] += d t -= K * d 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 | 100 |
Code Size | 1472 Byte |
Status | AC |
Exec Time | 125 ms |
Memory | 77384 KiB |
Judge Result
Set Name | sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
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 | 69 ms | 63108 KiB |
00_sample_01 | AC | 55 ms | 63236 KiB |
00_sample_02 | AC | 54 ms | 63252 KiB |
00_small_00 | AC | 57 ms | 63464 KiB |
00_small_01 | AC | 54 ms | 63312 KiB |
00_small_02 | AC | 58 ms | 63568 KiB |
00_small_03 | AC | 56 ms | 63420 KiB |
00_small_04 | AC | 58 ms | 63376 KiB |
00_small_05 | AC | 57 ms | 63300 KiB |
00_small_06 | AC | 56 ms | 63404 KiB |
00_small_07 | AC | 57 ms | 63324 KiB |
00_small_08 | AC | 57 ms | 63512 KiB |
00_small_09 | AC | 55 ms | 63448 KiB |
01_random_00 | AC | 98 ms | 77108 KiB |
01_random_01 | AC | 93 ms | 76128 KiB |
01_random_02 | AC | 93 ms | 77384 KiB |
01_random_03 | AC | 102 ms | 77148 KiB |
01_random_04 | AC | 99 ms | 76940 KiB |
01_random_05 | AC | 96 ms | 76944 KiB |
01_random_06 | AC | 99 ms | 77068 KiB |
01_random_07 | AC | 100 ms | 76392 KiB |
01_random_08 | AC | 99 ms | 76940 KiB |
01_random_09 | AC | 102 ms | 77316 KiB |
02_large_00 | AC | 100 ms | 76636 KiB |
02_large_01 | AC | 104 ms | 76416 KiB |
02_large_02 | AC | 86 ms | 76516 KiB |
02_large_03 | AC | 92 ms | 76476 KiB |
02_large_04 | AC | 95 ms | 76864 KiB |
02_large_05 | AC | 114 ms | 76848 KiB |
02_large_06 | AC | 91 ms | 76616 KiB |
02_large_07 | AC | 109 ms | 75612 KiB |
02_large_08 | AC | 110 ms | 76700 KiB |
02_large_09 | AC | 91 ms | 76520 KiB |
03_edge_00 | AC | 56 ms | 63484 KiB |
03_edge_01 | AC | 55 ms | 63464 KiB |
03_edge_02 | AC | 56 ms | 63444 KiB |
03_edge_03 | AC | 53 ms | 63324 KiB |
03_edge_04 | AC | 105 ms | 68680 KiB |
03_edge_05 | AC | 116 ms | 69228 KiB |
03_edge_06 | AC | 98 ms | 77192 KiB |
03_edge_07 | AC | 100 ms | 77256 KiB |
03_edge_08 | AC | 94 ms | 76332 KiB |
03_edge_09 | AC | 97 ms | 77180 KiB |
03_edge_10 | AC | 97 ms | 76924 KiB |
03_edge_11 | AC | 106 ms | 77332 KiB |
03_edge_12 | AC | 107 ms | 77140 KiB |
03_edge_13 | AC | 97 ms | 76140 KiB |
03_edge_14 | AC | 108 ms | 77232 KiB |
03_edge_15 | AC | 109 ms | 76192 KiB |
03_edge_16 | AC | 121 ms | 77048 KiB |
03_edge_17 | AC | 81 ms | 74844 KiB |
03_edge_18 | AC | 83 ms | 76116 KiB |
03_edge_19 | AC | 83 ms | 75844 KiB |
04_corner_00 | AC | 89 ms | 68528 KiB |
04_corner_01 | AC | 103 ms | 72392 KiB |
04_corner_02 | AC | 125 ms | 77128 KiB |