結果
| 問題 |
No.1109 調の判定
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-11-10 10:09:37 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 95 ms / 2,000 ms |
| コード長 | 1,344 bytes |
| コンパイル時間 | 192 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 12,544 KB |
| 最終ジャッジ日時 | 2024-07-22 17:17:13 |
| 合計ジャッジ時間 | 5,603 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 43 |
コンパイルメッセージ
Main.rb:24: warning: ambiguous first argument; put parentheses or a space even after `-' operator Syntax OK
ソースコード
DEBUG = true
MOD = 10**9+7
YESNO = %w(Yes No)
require "set"
def main
@N = int
@T = ints
t = Set.new @T
excludes = [1, 3, 6, 8, 10]
ds = [*0...12]
ds.reject! { |d|
excludes.any? { |x|
t.include? (d + x) % 12
}
}
if ds.size == 1
puts ds[0]
else
puts -1
end
end
def int; gets.to_i; end
def ints; gets.split.map &:to_i; end
def array(&convert); gets.split.map(&convert); end
def string; gets.chomp; end
def rep(n, &b); Array.new(n, &b); end
def yes; puts YESNO[0]; end
def no; puts YESNO[1]; end
def yesno t; t ? yes : no; end
def max(*xs); xs.max; end
def min(*xs); xs.max; end
def minmax(*xs); xs.minmax; end
def matrix(h, w, fill=nil); Array.new(h) { [fill] * w }; end
def debug(x); STDERR.puts x.inspect if DEBUG; end
def gcd(*xs); xs.inject(0) { |y, x| y.gcd(x) }; end
def factorial(n, mod); (2..n).inject(1) { |f, x| f * x % mod }; end
def cumsum(xs); ys = [0]; xs.each { |x| ys << x + ys[-1] }; ys; end
def cumdiff(ys); xs = []; xs.inject { |x, y| xs << (d = y - x); d }; end
def cumfold(ys, range); r = range.end; r -= 1 if range.exclusive_end?; ys[r] - ys[range.begin-1]; end
def mod_inv(x, mod); x.pow(mod-2, mod); end
def mod_div(x, y, mod); x * mod_inv(y, mod) % mod; end
def bitbrute(size, block); (1<<size).times(&block); end
main