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