182152025-10-14 11:18:01birozsVáltakozó (75 pont)python3Időlimit túllépés 33/75600ms4068 KiB
from collections import OrderedDict
T = input()
N = len(T)
if len(T) == 1:
    print(T)
else:
    D = {}
    for k in T:
        if k not in D:
            D[k] = 1
        else:
            D[k] += 1
    D = OrderedDict(sorted(D.items()))
    lehet = True
    for k,db in D.items():
        if (N % 2 == 0 and db > N // 2) or (N % 2 == 1 and db > N // 2 + 1):
            print(-1)
            lehet = False
    if lehet:
        megoldas = "*"
        for i in range(1,N+1):
            hosszu = False
            for k,db in D.items():
                if db > 0 and k != megoldas[i-1] and  db > (N - i + 1) // 2:
                    megoldas += k
                    D[k] -= 1
                    hosszu = True
                    break
            if not hosszu:
                for k,db in D.items():
                    if db > 0 and k != megoldas[i-1]:
                        megoldas += k
                        D[k] -= 1
                        break
        print(megoldas[1:])                       

    
RészfeladatÖsszpontTesztVerdiktIdőMemória
base33/75
1Elfogadva0/018ms3576 KiB
2Elfogadva0/028ms3568 KiB
3Elfogadva3/318ms3388 KiB
4Elfogadva3/318ms3372 KiB
5Elfogadva3/319ms3384 KiB
6Elfogadva3/318ms3388 KiB
7Elfogadva3/361ms3576 KiB
8Időlimit túllépés0/3600ms4068 KiB
9Elfogadva3/361ms3896 KiB
10Elfogadva3/359ms3892 KiB
11Elfogadva3/339ms3328 KiB
12Elfogadva3/339ms3380 KiB
13Elfogadva3/339ms3532 KiB
14Elfogadva3/325ms3380 KiB
15Időlimit túllépés0/3591ms3964 KiB
16Időlimit túllépés0/3600ms4044 KiB
17Időlimit túllépés0/3600ms3888 KiB
18Időlimit túllépés0/3583ms3892 KiB
19Időlimit túllépés0/3578ms4012 KiB
20Időlimit túllépés0/3600ms3932 KiB
21Időlimit túllépés0/3600ms3892 KiB
22Időlimit túllépés0/6579ms3892 KiB
23Időlimit túllépés0/6582ms3892 KiB
24Időlimit túllépés0/6600ms4004 KiB