結果
問題 | No.366 ロボットソート |
ユーザー |
|
提出日時 | 2016-04-29 23:09:29 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 109 ms / 2,000 ms |
コード長 | 845 bytes |
コンパイル時間 | 268 ms |
コンパイル使用メモリ | 7,200 KB |
実行使用メモリ | 6,400 KB |
最終ジャッジ日時 | 2024-12-29 17:42:37 |
合計ジャッジ時間 | 1,301 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
#!/usr/bin/env python #coding:utf8 def read(): N, K = map(int, raw_input().split()) vList = map(int, raw_input().split()) return K, vList def calcCost(subList): ret = 0 for i in range(len(subList)): for j in range(len(subList) - i - 1): if subList[j] > subList[j + 1]: subList[j], subList[j + 1] = subList[j + 1], subList[j] ret += 1 return ret def work((K, vList)): for i in range(K - 1): if i + K >= len(vList) and i + 1 < len(vList) and vList[i] > vList[i + 1]: print -1 return ans = 0 for i in range(min(K, len(vList) - K)): ans += calcCost(vList[i::K]) vList[i::K] = sorted(vList[i::K]) print ans if vList == sorted(vList) else -1 if __name__ == "__main__": work(read())