98362024-03-11 13:44:1642KörJáték (50 pont)python3Elfogadva 50/5096ms21400 KiB
# 1 2 3
# 4 2 3 -> 2
# 1 4 3 -> 4
# 1 2 4 -> 2
def solv():
    N=int(input())
    P=[int(xx)-1 for xx in input().split()]
    pos=[-1]*N
    for i in range(N):
        pos[P[i]]=i
    summa=0
    for i in range(N-1):
        cur=pos[i+1]-pos[i]
        if cur>0:
            summa+=cur
        else:
            summa+=N+cur
    for i in range(N):
        if P[i]==0:
            d=pos[1]-pos[0]
            if d<0:
                d+=N
            dd=i-pos[N-1]
            if dd<0:
                dd+=N
            print(summa-d+dd,end=' ')
        elif P[i]==N-1:
            print(summa,end=' ')
        else:
            dl=i-pos[N-1]
            if dl<0:
                dl+=N
            de=i-pos[P[i]-1]
            if de<0:
                de+=N
            du=pos[P[i]+1]-i
            if du<0:
                du+=N
            da=pos[P[i]+1]-pos[P[i]-1]
            if da<0:
                da+=N
            print(summa-de-du+dl+da,end=' ')

            
    print("\r\n")
    #print(P,pos)

solv()
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/017ms11384 KiB
2Elfogadva0/017ms11704 KiB
3Elfogadva0/017ms12064 KiB
4Elfogadva2/218ms11892 KiB
5Elfogadva2/217ms12412 KiB
6Elfogadva2/217ms12416 KiB
7Elfogadva2/217ms12632 KiB
8Elfogadva2/217ms12860 KiB
9Elfogadva2/218ms13044 KiB
10Elfogadva2/217ms13432 KiB
11Elfogadva2/218ms13680 KiB
12Elfogadva2/218ms13696 KiB
13Elfogadva2/218ms14220 KiB
14Elfogadva2/217ms14408 KiB
15Elfogadva2/218ms13984 KiB
16Elfogadva1/117ms14276 KiB
17Elfogadva2/293ms21120 KiB
18Elfogadva2/296ms21064 KiB
19Elfogadva2/289ms21092 KiB
20Elfogadva2/292ms21096 KiB
21Elfogadva2/286ms21220 KiB
22Elfogadva2/290ms21400 KiB
23Elfogadva2/290ms21140 KiB
24Elfogadva2/292ms21096 KiB
25Elfogadva2/293ms20964 KiB
26Elfogadva2/292ms21064 KiB
27Elfogadva2/293ms20968 KiB
28Elfogadva2/292ms21212 KiB
29Elfogadva1/190ms21272 KiB