結果
| 問題 |
No.411 昇順昇順ソート
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-08-12 19:09:42 |
| 言語 | Go (1.23.4) |
| 結果 |
AC
|
| 実行時間 | 95 ms / 2,000 ms |
| コード長 | 530 bytes |
| コンパイル時間 | 15,332 ms |
| コンパイル使用メモリ | 220,548 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-07 12:11:28 |
| 合計ジャッジ時間 | 16,932 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 30 |
ソースコード
package main
import "fmt"
func main() {
var N, K uint
fmt.Scan(&N, &K)
count := 0
for i := uint(1); i < 1 << N; i++ {
mx1 := uint(0)
mn1 := N
mn2 := N
for j := uint(0); j < N; j++ {
if (1 << j & i) > 0 {
mx1 = max(mx1, j + 1)
mn1 = min(mn1, j + 1)
} else {
mn2 = min(mn2, j + 1)
}
}
if mn1 == K && mx1 > mn2 {
count++
}
}
fmt.Println(count)
}
func max(a uint, b uint) uint {
if a < b {
return b
}
return a
}
func min(a uint, b uint) uint {
if a < b {
return a
}
return b
}