結果
| 問題 |
No.1279 Array Battle
|
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 2024-12-18 11:29:02 |
| 言語 | Go (1.23.4) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 652 bytes |
| コンパイル時間 | 12,946 ms |
| コンパイル使用メモリ | 233,600 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-12-18 11:29:16 |
| 合計ジャッジ時間 | 12,208 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | WA * 20 |
ソースコード
package main
import . "fmt"
import sl "slices"
import . "math/bits"
func main() {
var n int
Scan(&n)
a:=make([]int,n)
b:=make([]int,n)
for i:=range a {
Scan(&a[i])
}
for i:=range b {
Scan(&b[i])
}
sl.Sort(a)
dp:=make([][]int,n+1)
for i:=range dp {
dp[i]=make([]int,1<<n)
}
dp[0][0]=1
for i,v:=range a {
for j,w:=range dp[i] {
if w==0 {
continue
}
for k,u:=range b {
p:=j&(1<<k)
if p!=0 {
continue
}
if v<=u {
continue
}
dp[i+1][j|p]+=w
}
}
}
var s,z int
for i,v:=range dp[n] {
x:=OnesCount(uint(i))
if x>z {
s=v
z=x
} else if x==z {
s+=v
}
}
Println(s)
}
ID 21712