結果
問題 | No.366 ロボットソート |
ユーザー |
|
提出日時 | 2016-09-18 21:50:15 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 145 ms / 2,000 ms |
コード長 | 629 bytes |
コンパイル時間 | 373 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-12-29 18:31:55 |
合計ジャッジ時間 | 2,127 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
def ok(l): for i in range(len(l) - 1): if l[i] > l[i + 1]: return False return True def func(a: list, k): if len(a) == 0: return 0 ans = 0 index = a.index(min(a)) if index % k != 0: print(-1) exit() while index - k >= 0: ans += 1 a[index], a[index - k] = a[index - k], a[index] index -= k return ans def main(): n, k = map(int, input().split()) a = list(map(int, input().split())) ans = 0 while not ok(a): ans += func(a, k) a = a[1:] print(ans) if __name__ == '__main__': main()