結果
問題 |
No.365 ジェンガソート
|
ユーザー |
![]() |
提出日時 | 2018-06-11 00:37:26 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 919 bytes |
コンパイル時間 | 189 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 25,288 KB |
最終ジャッジ日時 | 2024-06-30 13:25:45 |
合計ジャッジ時間 | 7,437 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 16 TLE * 2 -- * 23 |
ソースコード
N = int(input()) a = list(map(int,input().split())) #print(a) """ zure = [0 for i in range(len(a))] for i,v in enumerate(a): zure[v] = v-i print(zure) cnt = 0 for i in range(len(a)): # 0から順番にずらしていく if sum(list(map(abs,zure))) == 0: break else: if zure[i] != 0: # 数iにずれがあったら cnt += 1 zure[i] = 0 # 移動させることでずれがなくなる for j in a[i:a.index(i)]: # 移動させたことでずれが変わる jは移動させたやつよりも左にあったやつ zure[j] -= 1 del a[a.index(i)] a.insert(i,i) print("a:{} zure:{}".format(a,zure)) print(cnt) """ m = len(a) orderCount = 1 # 順番に並んでる個数 for i in range(2,m+1)[::-1]: if a.index(i-1) > a.index(i): break else: orderCount += 1 print(m-orderCount)