9353 | 2024. 02. 20 19:09:56 | FarkasZénó | Váltakozó (75 pont) | python3 | Időlimit túllépés 36/75 | 587ms | 17020 KiB |
from sys import stdin
def kovetkezo(elozo, betuk, hossz, sorozat):
if hossz == 0:
return sorozat
legtobb = 0
for betu, darab in betuk.items():
if darab > legtobb:
legtobb = darab
legtobb_betu = betu
if legtobb > hossz // 2:
sorozat.append(legtobb_betu)
szo = stdin.readline().strip()
N = len(szo)
szamolo = dict()
for betu in szo:
if betu in szamolo:
szamolo[betu][0] += 1
else:
szamolo[betu] = [1, betu]
betuk = sorted(szamolo.values(), reverse=True)
sorozat = []
def kovetkezo(betu):
sorozat.append(betu)
szamolo[betu][0] -= 1
if szamolo[betu][0] == 0:
betuk.remove(szamolo[betu])
del szamolo[betu]
if betuk[0][0] <= (N+1) // 2:
elozo = None
for i in range(N):
hossz = N - i
if hossz % 2 == 1 and betuk[0][0] == (hossz+1) // 2:
x = betuk[0][1]
else:
x = 'zz'
for betu in szamolo:
if betu == elozo:
continue
x = min(x, betu)
kovetkezo(x)
elozo = x
betuk.sort(reverse=True)
print(''.join(sorozat))
else:
print(-1)
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 36/75 | ||||||
1 | Elfogadva | 0/0 | 18ms | 11488 KiB | |||
2 | Elfogadva | 0/0 | 26ms | 11548 KiB | |||
3 | Elfogadva | 3/3 | 17ms | 12060 KiB | |||
4 | Elfogadva | 3/3 | 18ms | 12016 KiB | |||
5 | Elfogadva | 3/3 | 17ms | 12396 KiB | |||
6 | Elfogadva | 3/3 | 17ms | 12568 KiB | |||
7 | Elfogadva | 3/3 | 54ms | 13268 KiB | |||
8 | Elfogadva | 3/3 | 365ms | 17020 KiB | |||
9 | Elfogadva | 3/3 | 71ms | 13268 KiB | |||
10 | Elfogadva | 3/3 | 68ms | 13424 KiB | |||
11 | Elfogadva | 3/3 | 34ms | 12988 KiB | |||
12 | Elfogadva | 3/3 | 35ms | 13000 KiB | |||
13 | Elfogadva | 3/3 | 34ms | 12936 KiB | |||
14 | Elfogadva | 3/3 | 23ms | 13276 KiB | |||
15 | Időlimit túllépés | 0/3 | 582ms | 6640 KiB | |||
16 | Időlimit túllépés | 0/3 | 572ms | 6216 KiB | |||
17 | Időlimit túllépés | 0/3 | 568ms | 6664 KiB | |||
18 | Időlimit túllépés | 0/3 | 572ms | 7040 KiB | |||
19 | Időlimit túllépés | 0/3 | 583ms | 7176 KiB | |||
20 | Időlimit túllépés | 0/3 | 587ms | 7320 KiB | |||
21 | Időlimit túllépés | 0/3 | 568ms | 7248 KiB | |||
22 | Időlimit túllépés | 0/6 | 572ms | 7180 KiB | |||
23 | Időlimit túllépés | 0/6 | 583ms | 7424 KiB | |||
24 | Időlimit túllépés | 0/6 | 563ms | 7516 KiB |