Submission #56465800


Source Code Expand

def space(x,y):
    if x<y:return -1
    if x==y:return 0
    if x>y:return 1

N,M=map(int,input().split())
A=list(map(int,input().split()))
B=list(map(int,input().split()))
if M==2:
    if A==B:
        print(0)
    else:
        print(-1)
    exit()
C=[B[0]]
for i in range(1,N):
    for j in range(C[-1]//M-3,C[-1]//M+3):
        if space(A[i-1],A[i])==space(C[-1],j*M+B[i]) and abs(C[-1]-(j*M+B[i]))<M:
            C.append(j*M+B[i])
            break
add=[]
for i in range(N):
    add.append(C[i]-A[i])
add.sort()
mid=add[N//2]
ans=1<<60
for i in range(mid//M-3,mid//M+3):
    now=0
    for j in range(N):
        now+=abs(A[j]+i*M-C[j])
    ans=min(ans,now)
print(ans)

Submission Info

Submission Time
Task D - Increment Decrement Again
User hirayuu_At
Language Python (PyPy 3.10-v7.3.12)
Score 700
Code Size 705 Byte
Status AC
Exec Time 158 ms
Memory 143716 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 700 / 700
Status
AC × 3
AC × 53
Set Name Test Cases
Sample 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt
All 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 01-random-001.txt, 01-random-002.txt, 01-random-003.txt, 01-random-004.txt, 01-random-005.txt, 01-random-006.txt, 01-random-007.txt, 01-random-008.txt, 01-random-009.txt, 01-random-010.txt, 01-random-011.txt, 01-random-012.txt, 01-random-013.txt, 01-random-014.txt, 01-random-015.txt, 02-large-001.txt, 02-large-002.txt, 02-large-003.txt, 02-large-004.txt, 02-large-005.txt, 02-large-006.txt, 02-large-007.txt, 02-large-008.txt, 02-large-009.txt, 02-large-010.txt, 03-max-001.txt, 03-max-002.txt, 03-max-003.txt, 03-max-004.txt, 03-max-005.txt, 04-small-001.txt, 04-small-002.txt, 04-small-003.txt, 04-small-004.txt, 04-small-005.txt, 04-small-006.txt, 04-small-007.txt, 04-small-008.txt, 04-small-009.txt, 04-small-010.txt, 05-corner-001.txt, 05-corner-002.txt, 05-corner-003.txt, 05-corner-004.txt, 05-corner-005.txt, 05-corner-006.txt, 05-corner-007.txt, 05-corner-008.txt, 05-corner-009.txt, 05-corner-010.txt
Case Name Status Exec Time Memory
00-sample-001.txt AC 56 ms 76208 KiB
00-sample-002.txt AC 56 ms 76668 KiB
00-sample-003.txt AC 56 ms 76672 KiB
01-random-001.txt AC 97 ms 94840 KiB
01-random-002.txt AC 85 ms 83420 KiB
01-random-003.txt AC 96 ms 100380 KiB
01-random-004.txt AC 146 ms 126736 KiB
01-random-005.txt AC 114 ms 103980 KiB
01-random-006.txt AC 149 ms 127176 KiB
01-random-007.txt AC 101 ms 94944 KiB
01-random-008.txt AC 90 ms 86284 KiB
01-random-009.txt AC 124 ms 114884 KiB
01-random-010.txt AC 104 ms 98068 KiB
01-random-011.txt AC 140 ms 123460 KiB
01-random-012.txt AC 155 ms 132776 KiB
01-random-013.txt AC 125 ms 114820 KiB
01-random-014.txt AC 75 ms 82480 KiB
01-random-015.txt AC 95 ms 95920 KiB
02-large-001.txt AC 131 ms 123924 KiB
02-large-002.txt AC 121 ms 114632 KiB
02-large-003.txt AC 127 ms 114404 KiB
02-large-004.txt AC 155 ms 143716 KiB
02-large-005.txt AC 157 ms 125244 KiB
02-large-006.txt AC 143 ms 123668 KiB
02-large-007.txt AC 149 ms 123964 KiB
02-large-008.txt AC 146 ms 123860 KiB
02-large-009.txt AC 114 ms 114284 KiB
02-large-010.txt AC 116 ms 110396 KiB
03-max-001.txt AC 157 ms 124640 KiB
03-max-002.txt AC 157 ms 125956 KiB
03-max-003.txt AC 155 ms 129320 KiB
03-max-004.txt AC 152 ms 129312 KiB
03-max-005.txt AC 158 ms 123488 KiB
04-small-001.txt AC 55 ms 76276 KiB
04-small-002.txt AC 54 ms 76220 KiB
04-small-003.txt AC 55 ms 76224 KiB
04-small-004.txt AC 54 ms 76460 KiB
04-small-005.txt AC 55 ms 76256 KiB
04-small-006.txt AC 55 ms 76200 KiB
04-small-007.txt AC 55 ms 76268 KiB
04-small-008.txt AC 57 ms 76412 KiB
04-small-009.txt AC 56 ms 76480 KiB
04-small-010.txt AC 55 ms 76212 KiB
05-corner-001.txt AC 71 ms 106340 KiB
05-corner-002.txt AC 76 ms 114008 KiB
05-corner-003.txt AC 75 ms 114116 KiB
05-corner-004.txt AC 88 ms 130796 KiB
05-corner-005.txt AC 76 ms 109948 KiB
05-corner-006.txt AC 92 ms 137220 KiB
05-corner-007.txt AC 130 ms 124216 KiB
05-corner-008.txt AC 116 ms 119608 KiB
05-corner-009.txt AC 142 ms 137860 KiB
05-corner-010.txt AC 144 ms 140684 KiB