93522024-02-20 19:09:21FarkasZénóVáltakozó (75 pont)pypy3Time limit exceeded 36/75587ms111624 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)
SubtaskSumTestVerdictTimeMemory
base36/75
1Accepted0/048ms78740 KiB
2Accepted0/065ms89888 KiB
3Accepted3/346ms78784 KiB
4Accepted3/343ms79468 KiB
5Accepted3/341ms79920 KiB
6Accepted3/339ms79984 KiB
7Accepted3/390ms92968 KiB
8Accepted3/3180ms111624 KiB
9Accepted3/359ms91184 KiB
10Accepted3/359ms91404 KiB
11Accepted3/368ms91696 KiB
12Accepted3/381ms91932 KiB
13Accepted3/374ms91804 KiB
14Accepted3/363ms92408 KiB
15Time limit exceeded0/3551ms35892 KiB
16Time limit exceeded0/3546ms34224 KiB
17Time limit exceeded0/3568ms35108 KiB
18Time limit exceeded0/3564ms35220 KiB
19Time limit exceeded0/3544ms34752 KiB
20Time limit exceeded0/3551ms34708 KiB
21Time limit exceeded0/3583ms34904 KiB
22Time limit exceeded0/6564ms35056 KiB
23Time limit exceeded0/6583ms36032 KiB
24Time limit exceeded0/6587ms35980 KiB