結果
問題 | No.397 NO MORE KADOMATSU |
ユーザー |
|
提出日時 | 2016-07-15 23:05:26 |
言語 | Go (1.23.4) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 679 bytes |
コンパイル時間 | 12,933 ms |
コンパイル使用メモリ | 235,928 KB |
実行使用メモリ | 152,004 KB |
平均クエリ数 | 0.33 |
最終ジャッジ日時 | 2024-07-17 00:06:39 |
合計ジャッジ時間 | 16,907 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 3 TLE * 1 -- * 14 |
ソースコード
package main import "fmt" import "reflect" type Swap struct { u, v int } func (s Swap) String() string { return fmt.Sprint(s.u, s.v) } func main() { var N int fmt.Scan(&N) A := make([]int, N) for i := range A { fmt.Scan(&A[i]) } var sw []Swap preA := make([]int, N) for { if reflect.DeepEqual(preA, A) { break } copy(preA, A) for i := range A { if N <= i+2 { break } j := i + 1 k := j + 1 if (A[i] < A[j] && A[j] > A[k]) || (A[i] > A[j] && A[j] < A[k]) { sw = append(sw, Swap{j, k}) A[j], A[k] = A[k], A[j] } } } fmt.Println(len(sw)) for i := range sw { fmt.Println(sw[i]) } var dummy int fmt.Scan(&dummy) }