結果

問題 No.1972 Modulo Set
コンテスト
ユーザー siman
提出日時 2022-06-11 09:37:55
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
WA  
実行時間 -
コード長 327 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 61 ms
コンパイル使用メモリ 8,960 KB
実行使用メモリ 26,108 KB
最終ジャッジ日時 2026-04-09 23:38:51
合計ジャッジ時間 7,110 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 1
other AC * 19 WA * 6 TLE * 1 -- * 8
権限があれば一括ダウンロードができます
コンパイルメッセージ
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

1.upto(M / 2) do |i|
  j = M - i
  g1 = i.gcd(M)
  g2 = j.gcd(M)

  cnt_1 = [counter[i], M / g1 - 1].min
  cnt_2 = [counter[j], M / g2 - 1].min
  ans += [cnt_1, cnt_2].max
end

puts ans
0