結果

問題 No.1972 Modulo Set
コンテスト
ユーザー siman
提出日時 2022-06-11 09:51:27
言語 Ruby
(4.0.7 + ACL)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
WA  
実行時間 -
コード長 436 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 11 ms
コンパイル使用メモリ 8,576 KB
実行使用メモリ 35,432 KB
最終ジャッジ日時 2026-10-15 22:32:23
合計ジャッジ時間 6,646 ms
ジャッジサーバーID
(参考情報)
judge5_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1 WA * 2
other AC * 15 WA * 18
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

N, M = gets.split.map(&:to_i)
A = gets.split.map(&:to_i)

counter = A.map { |a| a % M }.tally
counter.default = 0

ans = [1, counter[0]].min
checked = Hash.new(false)

counter.each do |i, cnt|
  j = M - i
  next if checked[j]
  checked[i] = true
  checked[j] = true

  cnt_1 = ((i + i) % M == 0) ? [1, counter[i]].min : counter[i]
  cnt_2 = ((j + j) % M == 0) ? [1, counter[j]].min : counter[j]
  ans += [cnt_1, cnt_2].max
end

puts ans
0