Submission #74943499
Source Code Expand
import sys
from bisect import bisect_left, bisect_right
def solve():
input_data = sys.stdin.read().split()
n, k = int(input_data[0]), int(input_data[1])
d = sorted(int(x) for x in input_data[2:2+n])
# Prefix sum for range sum queries
prefix = [0] * (n + 1)
for i in range(n):
prefix[i+1] = prefix[i] + d[i]
min_dissatisfaction = float('inf')
# Try each Di as the start s of the window
for i in range(n):
s = d[i]
e = s + k - 1
# Packages LEFT of window (Di < s): delivered on day s
left_end = bisect_left(d, s) # first index >= s
left_count = left_end
left_sum = prefix[left_end]
left_dissatisfaction = s * left_count - left_sum
# Packages RIGHT of window (Di > e): delivered on day e
right_start = bisect_right(d, e) # first index > e
right_count = n - right_start
right_sum = prefix[n] - prefix[right_start]
right_dissatisfaction = right_sum - e * right_count
total = left_dissatisfaction + right_dissatisfaction
min_dissatisfaction = min(min_dissatisfaction, total)
print(min_dissatisfaction)
solve()
Submission Info
| Submission Time | |
|---|---|
| Task | D - Operation Plan for Distribution Center |
| User | mutharasim |
| Language | Python (PyPy 3.11-v7.3.20) |
| Score | 0 |
| Code Size | 1219 Byte |
| Status | WA |
| Exec Time | 184 ms |
| Memory | 156672 KiB |
Judge Result
| Set Name | Sample | All | ||||||
|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 0 / 400 | ||||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample01.txt, sample02.txt, sample03.txt |
| All | sample01.txt, sample02.txt, sample03.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in40.txt, in41.txt, in42.txt, in43.txt, in44.txt, in45.txt, in46.txt, in47.txt, in48.txt, in49.txt, in50.txt, in51.txt, in52.txt, in53.txt, in54.txt, in55.txt, in56.txt, in57.txt, in58.txt, in59.txt, in60.txt, in61.txt, in62.txt, in63.txt, in64.txt, in65.txt, in66.txt, in67.txt, in68.txt, in69.txt, in70.txt, in71.txt, in72.txt, in73.txt, in74.txt, in75.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| in01.txt | AC | 51 ms | 80380 KiB |
| in02.txt | AC | 51 ms | 80520 KiB |
| in03.txt | AC | 57 ms | 89500 KiB |
| in04.txt | AC | 58 ms | 89868 KiB |
| in05.txt | AC | 50 ms | 80752 KiB |
| in06.txt | AC | 162 ms | 155724 KiB |
| in07.txt | AC | 184 ms | 155704 KiB |
| in08.txt | AC | 52 ms | 80696 KiB |
| in09.txt | AC | 60 ms | 90676 KiB |
| in10.txt | WA | 177 ms | 155648 KiB |
| in11.txt | AC | 182 ms | 156672 KiB |
| in12.txt | AC | 175 ms | 156360 KiB |
| in13.txt | AC | 180 ms | 156352 KiB |
| in14.txt | AC | 182 ms | 155872 KiB |
| in15.txt | AC | 181 ms | 156096 KiB |
| in16.txt | AC | 180 ms | 155820 KiB |
| in17.txt | AC | 137 ms | 151776 KiB |
| in18.txt | AC | 123 ms | 154580 KiB |
| in19.txt | AC | 52 ms | 80356 KiB |
| in20.txt | AC | 181 ms | 156412 KiB |
| in21.txt | AC | 128 ms | 150872 KiB |
| in22.txt | AC | 124 ms | 154752 KiB |
| in23.txt | AC | 154 ms | 150072 KiB |
| in24.txt | AC | 162 ms | 154340 KiB |
| in25.txt | AC | 161 ms | 154444 KiB |
| in26.txt | AC | 184 ms | 156352 KiB |
| in27.txt | AC | 181 ms | 155832 KiB |
| in28.txt | AC | 179 ms | 155708 KiB |
| in29.txt | AC | 52 ms | 80440 KiB |
| in30.txt | AC | 51 ms | 80636 KiB |
| in31.txt | AC | 50 ms | 80356 KiB |
| in32.txt | AC | 50 ms | 80380 KiB |
| in33.txt | AC | 50 ms | 80540 KiB |
| in34.txt | AC | 50 ms | 80440 KiB |
| in35.txt | AC | 50 ms | 80124 KiB |
| in36.txt | AC | 50 ms | 80300 KiB |
| in37.txt | AC | 50 ms | 80652 KiB |
| in38.txt | AC | 51 ms | 80652 KiB |
| in39.txt | AC | 108 ms | 128732 KiB |
| in40.txt | AC | 52 ms | 80448 KiB |
| in41.txt | AC | 50 ms | 80264 KiB |
| in42.txt | AC | 50 ms | 80116 KiB |
| in43.txt | AC | 50 ms | 80564 KiB |
| in44.txt | AC | 59 ms | 90904 KiB |
| in45.txt | AC | 172 ms | 155916 KiB |
| in46.txt | AC | 178 ms | 152036 KiB |
| in47.txt | AC | 179 ms | 155752 KiB |
| in48.txt | AC | 181 ms | 156116 KiB |
| in49.txt | WA | 183 ms | 156000 KiB |
| in50.txt | AC | 122 ms | 154540 KiB |
| in51.txt | AC | 147 ms | 152544 KiB |
| in52.txt | AC | 177 ms | 152148 KiB |
| in53.txt | AC | 175 ms | 154240 KiB |
| in54.txt | AC | 178 ms | 152520 KiB |
| in55.txt | AC | 180 ms | 151740 KiB |
| in56.txt | AC | 184 ms | 154420 KiB |
| in57.txt | AC | 178 ms | 155944 KiB |
| in58.txt | AC | 184 ms | 155008 KiB |
| in59.txt | AC | 179 ms | 156100 KiB |
| in60.txt | WA | 51 ms | 80436 KiB |
| in61.txt | AC | 51 ms | 80568 KiB |
| in62.txt | AC | 51 ms | 80096 KiB |
| in63.txt | AC | 51 ms | 80564 KiB |
| in64.txt | AC | 50 ms | 80652 KiB |
| in65.txt | AC | 50 ms | 80440 KiB |
| in66.txt | AC | 134 ms | 151164 KiB |
| in67.txt | AC | 52 ms | 80316 KiB |
| in68.txt | AC | 52 ms | 80380 KiB |
| in69.txt | AC | 51 ms | 80316 KiB |
| in70.txt | AC | 52 ms | 80436 KiB |
| in71.txt | AC | 52 ms | 80540 KiB |
| in72.txt | AC | 53 ms | 80496 KiB |
| in73.txt | AC | 53 ms | 80372 KiB |
| in74.txt | AC | 52 ms | 80404 KiB |
| in75.txt | AC | 53 ms | 80356 KiB |
| sample01.txt | AC | 53 ms | 80356 KiB |
| sample02.txt | AC | 52 ms | 80540 KiB |
| sample03.txt | AC | 53 ms | 80116 KiB |