結果

問題 No.1537 私の代わりに仕事やっといてください。
ユーザー KazunKazun
提出日時 2021-06-06 18:53:24
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 380 ms / 2,000 ms
コード長 703 bytes
コンパイル時間 161 ms
コンパイル使用メモリ 82,132 KB
実行使用メモリ 149,404 KB
最終ジャッジ日時 2024-11-26 18:15:50
合計ジャッジ時間 1,744 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 33 ms
52,096 KB
testcase_01 AC 35 ms
52,224 KB
testcase_02 AC 380 ms
149,404 KB
testcase_03 AC 38 ms
52,352 KB
testcase_04 AC 38 ms
51,968 KB
testcase_05 AC 38 ms
52,352 KB
testcase_06 AC 38 ms
52,352 KB
testcase_07 AC 53 ms
64,768 KB
testcase_08 AC 54 ms
64,384 KB
testcase_09 AC 59 ms
66,960 KB
testcase_10 AC 82 ms
78,592 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

def greedy():
    from itertools import permutations

    X=-1
    P=None
    for p in permutations(range(2,N+1)):
        M=A[1]*A[p[0]]+A[p[-1]]*A[1]
        for i in range(N-2):
            M+=A[p[i]]*A[p[i+1]]

        if M>X:
            X=M
            P=p
    return X,P

N=int(input())
A=["*"]+list(map(int,input().split()))

if N==2:
    exit(print(1,2,1))
elif N==3:
    exit(print(1,2,3,1))

AA=[(x,i) for i,x in enumerate(A[1:],1)]
AA.sort(key=lambda t:t[0])

L=[1]+list(range(2,N+1,2))
R=list(range(3,N+1,2))[::-1]
I=L+R
I_inv=[0]*(N+1)
for i in range(N):
    I_inv[I[i]]=i+1

V=[0]*(N+1)
for i in range(N):
    _,j=AA[i]
    V[I_inv[i+1]]=j

V=V[1:]
k=V.index(1)
V=V[k:]+V[:k]
print(*V,1)
0