結果

問題 No.607 開通777年記念
コンテスト
ユーザー TANIGUCHI Kousuke
提出日時 2020-01-28 18:25:47
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 1,077 ms / 2,000 ms
コード長 492 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 49 ms
コンパイル使用メモリ 9,088 KB
実行使用メモリ 23,424 KB
最終ジャッジ日時 2026-04-04 20:39:11
合計ジャッジ時間 3,600 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 10
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

N, M = gets.split.map(&:to_i)
T = Array.new(M + 1){Array.new(N + 1, 0) }
(1 .. M).each do |i|
  d = gets.split.map(&:to_i)
  (1 .. N).each do |j|
    T[i][j] = T[i - 1][j] + d[j - 1]
  end
end

found = (1 .. M).find do |i|
  (1 .. N).each do |j|
    T[i][j] += T[i][j - 1]
  end
  (0 .. N).inject(0) do |r,l|
    r = (r .. N).find do |j|
      T[i][j] - T[i][l] >= 777
    end
    break false if r.nil?
    break true if T[i][r] - T[i][l] == 777
    next r
  end
end
puts found ? :YES : :NO

0