結果

問題 No.1972 Modulo Set
ユーザー siman
提出日時 2022-06-11 09:37:55
言語 Ruby
(3.4.1)
結果
WA  
実行時間 -
コード長 327 bytes
コンパイル時間 327 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 24,832 KB
最終ジャッジ日時 2024-09-21 18:09:03
合計ジャッジ時間 8,545 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 1
other AC * 19 WA * 6 TLE * 1 -- * 8
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

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