Submission #590333

#TimeUsernameProblemLanguageResultExecution timeMemory
590333dnialhRope (JOI17_rope)Pypy 3
0 / 100
60 ms20260 KiB
from collections import Counter import sys as sus input = sus.stdin.readline n, m = map(int, input().split()) #c = list(map(int, input().split())) c = list(range(1, m + 1)) ct = Counter(c) ctl = [0] * (m + 1) for i in range(1, m + 1): ctl[i] = ct[i] o = ct.most_common() del ct odd = Counter() eve = Counter() for i in range(n - 1): s = min(c[i], c[i + 1]) b = max(c[i], c[i + 1]) if i % 2: odd[(s << 20) | b] += 1 else: eve[(s << 20) | b] += 1 out = [] for i in range(1, m + 1): res = 0 for v, vc in o: if v == i: continue bl = odd[(i << 20) | v] + odd[v << 20 | i] br = eve[(i << 20) | v] + eve[v << 20 | i] bad = min(bl, br) res = max(res, vc - bad) if bad == 0: break out.append(n - res - ctl[i]) print('\n'.join(map(str, out)))
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...