結果
| 問題 | No.3502 GCD Knapsack |
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 2026-04-18 02:54:25 |
| 言語 | Go (1.26.1) |
| 結果 |
AC
|
| 実行時間 | 556 ms / 2,000 ms |
| コード長 | 575 bytes |
| 記録 | |
| コンパイル時間 | 12,070 ms |
| コンパイル使用メモリ | 288,964 KB |
| 実行使用メモリ | 9,344 KB |
| 最終ジャッジ日時 | 2026-04-18 02:54:59 |
| 合計ジャッジ時間 | 29,591 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge2_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 35 |
ソースコード
package main
import . "fmt"
import . "os"
import bf "bufio"
func main() {
rd := bf.NewReader(Stdin)
var n, w int
Fscan(rd,&n,&w)
xs := make([]int, n)
for i := range xs {
Fscan(rd,&xs[i])
}
ys := make([]int, n)
for i := range ys {
Fscan(rd,&ys[i])
}
sum := make([]int, 2e5+1)
for i, x := range xs {
y := ys[i]
for p := 1; p*p <= x; p++ {
if x % p != 0 {
continue
}
q := x / p
if p >= w {
sum[p] += y
}
if p != q && q >= w {
sum[q] += y
}
}
}
ans := 0
for _, s := range sum[w:] {
ans = max(ans, s)
}
Println(ans)
}
ID 21712