結果
問題 | No.2029 Swap Min Max Min |
ユーザー |
👑 ![]() |
提出日時 | 2022-08-05 23:14:43 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 123 ms / 2,000 ms |
コード長 | 593 bytes |
コンパイル時間 | 243 ms |
コンパイル使用メモリ | 82,116 KB |
実行使用メモリ | 113,920 KB |
最終ジャッジ日時 | 2024-09-15 20:48:39 |
合計ジャッジ時間 | 5,549 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 42 |
ソースコード
def solve(): N=int(input()) A=[-1]+list(map(int,input().split())) X=N//2; Y=0 T=[i for i in range(1,N+1) if A[i]<=X] if N%2==1: for i,t in enumerate(T,1): Y+=abs(2*i-t) else: y=z=0 for i,a in enumerate(T,1): y+=abs(2*i-1-a) z+=abs(2*i-a) Y=min(y,z) for i,a in enumerate(T,1): y+=abs(2*i-a)-abs(2*i-1-a) Y=min(Y,y) for j in range(N//2-1,-1,-1): k=j+1; a=T[j] z+=abs(2*k-1-a)-abs(2*k-a) Y=min(Y,z) print(X,Y) solve()