はじめに
前回
今日はABC
#48
考えたこと
前に見たことがあるような気がします。それぞれの要素ごとにcountしているとTLEします。ですので、sortして疑似count的なことをします。あとは、要素の数が少ない順に書き換えていくだけです。
n, k = map(int,input().split())
a = list(map(int,input().split()))
a.sort()
num = [0] * n
c = 0
t = 0
for i in range(n-1):
if a[i] != a[i+1]:
c += 1
num[a[i]-1] += c
t += 1
c = 0
else:
c += 1
s = sum(num)
t += 1
num[a[i+1]-1] = n - s
num.sort()
ans = 0
for i in range(n):
if num[i] == 0:
continue
if t <= k:
print(ans)
break
ans += num[i]
t -= 1
まとめ
すごく不調なので、ABCまでに回復できるようにします。早く茶色になりたい。ではまた。