195642025-12-15 09:01:46birozsKombináció (50)python3Elfogadva 50/5017ms3324 KiB
N,M = map(int,input().split())
T = list(map(int,input().split()))
Hiany = []
for i in range(1,N+1):
    if i not in T:
        Hiany.append(i)
Elotte = T[:]
Talal = False
i = M-1
while i > 0 and not Talal:
    if Elotte[i] - Elotte[i-1] > 1:
        Elotte[i] = Elotte[i] - 1
        Vege = T[i:] + Hiany
        Vege.sort()
        Elotte = Elotte[:i+1] + Vege[len(Vege)-(M-i)+1:]
        Talal = True
    i -= 1
if Talal:
    print(*Elotte)
else:
    if T[0] == 1:
        for j in range(M):
            Elotte[j] = N-M+j+1
        print(*Elotte)
    elif T[0] > 1:
        Elotte[0] = Elotte[0] - 1
        Vege = []
        for j in range(N-M+2,N+1):
            Vege.append(j)
        Elotte = Elotte[:1] + Vege
        print(*Elotte)

Utana = T[:]
Hiany.sort()
VegenNovel = False
for k in Hiany:
    if k > Utana[-1]:
        VegenNovel = True
        Utana[-1] = k
        break
if not VegenNovel:
    Talal = False
    i = M-1
    while i > 0 and not Talal:
        if Utana[i] - Utana[i-1] > 1:
            Vege = T[i:] + Hiany
            Vege.sort()
            Utana = T[:i-1]
            for k in range(len(Vege)):
                if Vege[k] > T[i-1]:
                    Vege = Vege[k:]
                    break
            Utana += Vege[:M-i+1]
            Talal = True
        i -= 1
    if not Talal:
        for k in range(M):
            Utana[k] = k+1
print(*Utana)
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/016ms3124 KiB
2Elfogadva0/017ms3112 KiB
3Elfogadva2/216ms3144 KiB
4Elfogadva2/217ms3236 KiB
5Elfogadva2/216ms3296 KiB
6Elfogadva2/217ms3140 KiB
7Elfogadva2/217ms3304 KiB
8Elfogadva2/216ms3324 KiB
9Elfogadva2/216ms3292 KiB
10Elfogadva4/416ms3064 KiB
11Elfogadva4/417ms3312 KiB
12Elfogadva4/417ms3264 KiB
13Elfogadva4/417ms3296 KiB
14Elfogadva4/416ms3124 KiB
15Elfogadva4/417ms3120 KiB
16Elfogadva6/617ms3124 KiB
17Elfogadva6/616ms3320 KiB