182142025-10-14 09:57:25birozsVáltakozó (75 pont)python3Hibás válasz 27/75600ms4304 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) // 2 +1:
                    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
base27/75
1Hibás válasz0/018ms3380 KiB
2Hibás válasz0/029ms3396 KiB
3Részben helyes2/318ms3372 KiB
4Elfogadva3/318ms3376 KiB
5Részben helyes2/319ms3380 KiB
6Elfogadva3/319ms3380 KiB
7Elfogadva3/354ms3632 KiB
8Időlimit túllépés0/3578ms4132 KiB
9Elfogadva3/365ms4064 KiB
10Elfogadva3/359ms4076 KiB
11Részben helyes2/339ms3512 KiB
12Részben helyes2/341ms3384 KiB
13Részben helyes2/339ms3380 KiB
14Részben helyes2/325ms3356 KiB
15Időlimit túllépés0/3586ms4076 KiB
16Időlimit túllépés0/3600ms4076 KiB
17Időlimit túllépés0/3598ms4080 KiB
18Időlimit túllépés0/3579ms4076 KiB
19Időlimit túllépés0/3588ms4076 KiB
20Időlimit túllépés0/3586ms4304 KiB
21Időlimit túllépés0/3586ms4076 KiB
22Időlimit túllépés0/6580ms4136 KiB
23Időlimit túllépés0/6584ms4148 KiB
24Időlimit túllépés0/6598ms4180 KiB