Dernière fois ABC aujourd'hui
#48 Problème
** Pensées ** J'ai l'impression de l'avoir déjà vu. TLE lors du comptage pour chaque élément. Alors triez et faites quelque chose de pseudo-compté. Il ne vous reste plus qu'à réécrire dans l'ordre croissant du nombre d'éléments.
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
C'est tellement mauvais que je pourrai récupérer par ABC. Je veux devenir marron bientôt. à plus.
Recommended Posts