97902024-03-06 21:44:01birozsKörJáték (50 pont)python3Időlimit túllépés 25/50600ms13696 KiB
N = int(input())
lista = list(map(int,input().split()))
lista.insert(0,0)
#N = 5
#lista = [0,3,5,2,1,4]
hely = [0]
for i in range(1,N+1):
    hely.append(lista.index(i))
#print(hely)
def tavolsag(i,j):
    if i <= j:
        return j - i
    else:
        return N + j - i
kovetkezo = [0]
for i in range(1,N):
    kovetkezo.append(tavolsag(hely[i],hely[i+1]))

kovetkezo.append(0)
#print(kovetkezo)
alap = sum(kovetkezo)
for i in range(1,N+1):
    osszeg = alap
    if lista[i] == N:
        print(osszeg)
    else:
        osszeg += tavolsag(hely[N],hely[lista[i]])
        osszeg -= kovetkezo[lista[i]]
        if lista[i] > 1 and lista[i] < N:
            osszeg -= kovetkezo[lista[i]-1]
            osszeg += tavolsag(hely[lista[i]-1],hely[lista[i]+1])
        print(osszeg)
RészfeladatÖsszpontTesztVerdiktIdőMemória
base25/50
1Elfogadva0/018ms11392 KiB
2Elfogadva0/017ms11532 KiB
3Elfogadva0/018ms11600 KiB
4Elfogadva2/217ms12208 KiB
5Elfogadva2/218ms12204 KiB
6Elfogadva2/217ms12372 KiB
7Elfogadva2/217ms12584 KiB
8Elfogadva2/217ms12376 KiB
9Elfogadva2/217ms12528 KiB
10Elfogadva2/217ms12820 KiB
11Elfogadva2/217ms13212 KiB
12Elfogadva2/218ms13316 KiB
13Elfogadva2/217ms13276 KiB
14Elfogadva2/217ms13392 KiB
15Elfogadva2/217ms12884 KiB
16Elfogadva1/118ms13696 KiB
17Időlimit túllépés0/2600ms9352 KiB
18Időlimit túllépés0/2555ms9580 KiB
19Időlimit túllépés0/2580ms9460 KiB
20Időlimit túllépés0/2572ms9404 KiB
21Időlimit túllépés0/2564ms9328 KiB
22Időlimit túllépés0/2555ms9276 KiB
23Időlimit túllépés0/2560ms9280 KiB
24Időlimit túllépés0/2583ms9532 KiB
25Időlimit túllépés0/2551ms9652 KiB
26Időlimit túllépés0/2572ms9884 KiB
27Időlimit túllépés0/2575ms9960 KiB
28Időlimit túllépés0/2560ms9916 KiB
29Időlimit túllépés0/1564ms9912 KiB