結果
| 問題 |
No.1946 ロッカーの問題
|
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 2025-05-18 02:18:55 |
| 言語 | Go (1.23.4) |
| 結果 |
AC
|
| 実行時間 | 345 ms / 3,000 ms |
| コード長 | 563 bytes |
| コンパイル時間 | 14,686 ms |
| コンパイル使用メモリ | 258,920 KB |
| 実行使用メモリ | 46,036 KB |
| 最終ジャッジ日時 | 2025-05-18 02:19:17 |
| 合計ジャッジ時間 | 20,792 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 19 |
ソースコード
package main
import . "fmt"
import . "os"
import bf "bufio"
func main() {
rd := bf.NewReader(Stdin)
var n, m int
Fscan(rd, &n, &m)
opened := make([]bool, n+1)
for i := 0; i < m; i++ {
var a int
Fscan(rd,&a)
opened[a] = true
}
f := make([][]int, 2e5+1)
for i := 1; i < len(f); i++ {
for j := i; j < len(f); j += i {
f[j] = append(f[j], i)
}
}
ans := 0
s := make([]int, n+1)
for i := n; i >= 1; i-- {
if opened[i] == ((n/i+s[i])%2==1) {
continue
}
// println(i)
ans++
for _, e := range f[i] {
s[e]++
}
}
Println(ans)
}
ID 21712