結果

問題 No.60 魔法少女
ユーザー gigurururugigurururu
提出日時 2014-11-10 00:17:14
言語 Ruby
(3.3.0)
結果
AC  
実行時間 1,525 ms / 5,000 ms
コード長 510 bytes
コンパイル時間 52 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 65,664 KB
最終ジャッジ日時 2024-06-08 01:15:39
合計ジャッジ時間 13,126 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 72 ms
12,160 KB
testcase_01 AC 74 ms
12,160 KB
testcase_02 AC 81 ms
12,160 KB
testcase_03 AC 446 ms
35,072 KB
testcase_04 AC 949 ms
55,936 KB
testcase_05 AC 990 ms
59,264 KB
testcase_06 AC 1,256 ms
65,280 KB
testcase_07 AC 1,083 ms
59,776 KB
testcase_08 AC 896 ms
56,320 KB
testcase_09 AC 882 ms
51,072 KB
testcase_10 AC 1,525 ms
64,128 KB
testcase_11 AC 643 ms
46,080 KB
testcase_12 AC 888 ms
55,040 KB
testcase_13 AC 1,259 ms
65,664 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

def g;gets.split.map(&:to_i);end
n,k=g
e=(1..n).map{g}
t=(1..k).map{g}
ex=e.map{|x,_|x}
ey=e.map{|x,y|y}
xn=(t.map{|x,_|x}+ex).min
xx=(t.map{|x,y,w|x+w}+ex).max
yn=(t.map{|x,y|y}+ey).min
yx=(t.map{|x,y,w,h|y+h}+ey).max

m=(yn..yx+1).map{[0]*(xx-xn+1+1)}

t.each{|x,y,w,h,d|
  x-=xn;y-=yn
  m[y][x]+=d
  m[y][x+w+1]-=d
  m[y+h+1][x]-=d
  m[y+h+1][x+w+1]+=d
}
a=[0]*(xx-xn+1)
m.map!{|i|
  s=0
  a=a.zip(i.map{|j|s+=j}).map{|j,l|j+l}
}

p e.map{|x,y,h|[h-m[y-yn][x-xn],0].max}.inject(:+)
0