182152025-10-14 11:18:01birozsVáltakozó (75 pont)python3Time limit exceeded 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:])                       

    
SubtaskSumTestVerdictTimeMemory
base33/75
1Accepted0/018ms3576 KiB
2Accepted0/028ms3568 KiB
3Accepted3/318ms3388 KiB
4Accepted3/318ms3372 KiB
5Accepted3/319ms3384 KiB
6Accepted3/318ms3388 KiB
7Accepted3/361ms3576 KiB
8Time limit exceeded0/3600ms4068 KiB
9Accepted3/361ms3896 KiB
10Accepted3/359ms3892 KiB
11Accepted3/339ms3328 KiB
12Accepted3/339ms3380 KiB
13Accepted3/339ms3532 KiB
14Accepted3/325ms3380 KiB
15Time limit exceeded0/3591ms3964 KiB
16Time limit exceeded0/3600ms4044 KiB
17Time limit exceeded0/3600ms3888 KiB
18Time limit exceeded0/3583ms3892 KiB
19Time limit exceeded0/3578ms4012 KiB
20Time limit exceeded0/3600ms3932 KiB
21Time limit exceeded0/3600ms3892 KiB
22Time limit exceeded0/6579ms3892 KiB
23Time limit exceeded0/6582ms3892 KiB
24Time limit exceeded0/6600ms4004 KiB