Submission #3045691


Source Code Expand

from collections import defaultdict,deque
import sys,heapq,bisect,math,itertools,string,queue,datetime
sys.setrecursionlimit(10**8)
INF = float('inf')
mod = 10**9+7
eps = 10**-7
def inpl(): return list(map(int, input().split()))
def inpl_s(): return list(input().split())

N,M = inpl()
aa = inpl()
for i in range(N):
	aa[i] -= 1

yama_height = [0]*(2*M)
yama_num = [0]*(2*M)
SUM = 0
for i in range(1,N):
	na = aa[i]
	ba = aa[i-1]
	if na < ba:
		na += M
	SUM += (na-ba)
	yama_height[na] += na - (ba + 1)
	yama_num[na] -= 1
	yama_num[ba+1] += 1

tmp = 0
for i in range(2*M):
	tmp += yama_num[i]
	yama_num[i] = tmp

ans_list = [0]*(M)
tmp = 0
for i in reversed(range(2*M)):
	tmp += yama_height[i]
	tmp -= yama_num[i]
	ans_list[i%M] += tmp

print(SUM-max(ans_list))

Submission Info

Submission Time
Task E - guruguru
User simamumu
Language Python (3.4.3)
Score 700
Code Size 802 Byte
Status AC
Exec Time 313 ms
Memory 25292 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 700 / 700
Status
AC × 2
AC × 22
Set Name Test Cases
Sample sample1.txt, sample2.txt
All half0.txt, half1.txt, half2.txt, half3.txt, half4.txt, min_m.txt, min_n.txt, mx0.txt, mx1.txt, mx2.txt, rnd0.txt, rnd1.txt, rnd2.txt, rnd3.txt, rnd4.txt, rnd5.txt, rnd6.txt, rnd7.txt, rnd8.txt, rnd9.txt, sample1.txt, sample2.txt
Case Name Status Exec Time Memory
half0.txt AC 134 ms 11788 KB
half1.txt AC 177 ms 15704 KB
half2.txt AC 187 ms 15568 KB
half3.txt AC 177 ms 12880 KB
half4.txt AC 257 ms 19320 KB
min_m.txt AC 30 ms 4204 KB
min_n.txt AC 162 ms 10064 KB
mx0.txt AC 311 ms 24840 KB
mx1.txt AC 313 ms 25292 KB
mx2.txt AC 306 ms 25280 KB
rnd0.txt AC 62 ms 5992 KB
rnd1.txt AC 36 ms 4468 KB
rnd2.txt AC 54 ms 6248 KB
rnd3.txt AC 63 ms 6448 KB
rnd4.txt AC 130 ms 11008 KB
rnd5.txt AC 34 ms 4208 KB
rnd6.txt AC 30 ms 4208 KB
rnd7.txt AC 64 ms 6756 KB
rnd8.txt AC 46 ms 5352 KB
rnd9.txt AC 42 ms 4972 KB
sample1.txt AC 30 ms 4204 KB
sample2.txt AC 30 ms 4208 KB