結果

問題 No.1109 調の判定
ユーザー magurofly
提出日時 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

ソースコード

diff #

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
0