結果
| 問題 |
No.366 ロボットソート
|
| コンテスト | |
| ユーザー |
tsuchinaga
|
| 提出日時 | 2019-04-04 23:54:39 |
| 言語 | Go (1.23.4) |
| 結果 |
AC
|
| 実行時間 | 16 ms / 2,000 ms |
| コード長 | 657 bytes |
| コンパイル時間 | 16,435 ms |
| コンパイル使用メモリ | 218,956 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-12-28 05:45:55 |
| 合計ジャッジ時間 | 17,105 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 23 |
ソースコード
package main
import "fmt"
func main() {
var n, k, a int
_, _ = fmt.Scan(&n, &k)
lists := make([][]int, k)
for i := 0; i < n; i++ {
_, _ = fmt.Scan(&a)
lists[i%k] = append(lists[i%k], a)
}
// fmt.Println(lists)
ans := 0
for _, list := range lists {
for {
ok := true
for i := 0; i < len(list)-1; i++ {
if list[i] > list[i+1] {
ans++
list[i], list[i+1] = list[i+1], list[i]
ok = false
}
}
if ok {
break
}
}
}
// fmt.Println(ans, lists)
before := lists[0][0]
for i := 0; i < n; i++ {
if before > lists[i%k][i/k] {
ans = -1
break
}
before = lists[i%k][i/k]
}
fmt.Println(ans)
}
tsuchinaga