Submission #13393878


Source Code Expand

N, M = gets.split.map(&:to_i)
ABCs = N.times.map{gets.split.map(&:to_i)}
DEFs = M.times.map{gets.split.map(&:to_i)}
INF = 10**10

require 'set'

xs, ys = SortedSet.new, SortedSet.new
ABCs.each{ys << _1[2]}
DEFs.each{xs << _1[0]}
ys = [-INF] + ys.to_a + [INF]
xs = [-INF] + xs.to_a + [INF]
n, m = xs.size - 1, ys.size - 1
wx, wy = Array.new(n){Array.new(m, false)}, Array.new(n){Array.new(m, false)}
ABCs.each do |a, b, c|
  x1 = xs.bsearch_index{_1 >= a}
  y1 = ys.bsearch_index{_1 >= c}
  x2 = xs.bsearch_index{_1 > b} - 1
  (x1 ... x2).each{wy[_1][y1] = true}
end
DEFs.each do |d, e, f|
  x1 = xs.bsearch_index{_1 >= d}
  y1 = ys.bsearch_index{_1 >= e}
  y2 = ys.bsearch_index{_1 > f} - 1
  (y1 ... y2).each{wx[x1][_1] = true}
end
cs = Array.new(n){Array.new(m, false)}
cx, cy = xs.bsearch_index{_1 > 0} - 1, ys.bsearch_index{_1 > 0} - 1
cs[cx][cy] = true
q, ans = [[cx, cy]], 0
while !q.empty?
  x, y = q.pop
  (puts 'INF'; exit) if x.zero? || y.zero?
  ans += (xs[x + 1] - xs[x])*(ys[y + 1] - ys[y])
  (cs[x - 1][y] = true; q << [x - 1, y]) if !x.zero? && !wx[x][y] && !cs[x - 1][y]
  (cs[x][y - 1] = true; q << [x, y - 1]) if !y.zero? && !wy[x][y] && !cs[x][y - 1]
  (cs[x + 1][y] = true; q << [x + 1, y]) if x + 1 < n && !wx[x + 1][y] && !cs[x + 1][y]
  (cs[x][y + 1] = true; q << [x, y + 1]) if y + 1 < m && !wy[x][y + 1] && !cs[x][y + 1]
end
puts ans

Submission Info

Submission Time
Task F - . (Single Dot)
User noriakiokubo
Language Ruby (2.7.1)
Score 600
Code Size 1397 Byte
Status AC
Exec Time 555 ms
Memory 45116 KiB

Judge Result

Set Name Sample Subtask1
Score / Max Score 0 / 0 600 / 600
Status
AC × 2
AC × 96
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
Subtask1 sample_01.txt, sample_02.txt, sub1_01.txt, sub1_02.txt, sub1_03.txt, sub1_04.txt, sub1_05.txt, sub1_06.txt, sub1_07.txt, sub1_08.txt, sub1_09.txt, sub1_10.txt, sub1_11.txt, sub1_12.txt, sub1_13.txt, sub1_14.txt, sub1_15.txt, sub1_16.txt, sub1_17.txt, sub1_18.txt, sub1_19.txt, sub1_20.txt, sub1_21.txt, sub1_22.txt, sub1_23.txt, sub1_24.txt, sub1_25.txt, sub1_26.txt, sub1_27.txt, sub1_28.txt, sub1_29.txt, sub1_30.txt, sub1_31.txt, sub1_32.txt, sub1_33.txt, sub1_34.txt, sub1_35.txt, sub1_36.txt, sub1_37.txt, sub1_38.txt, sub1_39.txt, sub1_40.txt, sub1_41.txt, sub1_42.txt, sub1_43.txt, sub1_44.txt, sub1_45.txt, sub1_46.txt, sub1_47.txt, sub1_48.txt, sub1_49.txt, sub1_50.txt, sub1_51.txt, sub1_52.txt, sub1_53.txt, sub1_54.txt, sub1_55.txt, sub1_56.txt, sub1_57.txt, sub1_58.txt, sub1_59.txt, sub1_60.txt, sub1_61.txt, sub1_62.txt, sub1_63.txt, sub1_64.txt, sub1_65.txt, sub1_66.txt, sub1_67.txt, sub1_68.txt, sub1_69.txt, sub1_70.txt, sub1_71.txt, sub1_72.txt, sub1_73.txt, sub1_74.txt, sub1_75.txt, sub1_76.txt, sub1_77.txt, sub1_78.txt, sub1_79.txt, sub1_80.txt, sub1_81.txt, sub1_82.txt, sub1_83.txt, sub1_84.txt, sub1_85.txt, sub1_86.txt, sub1_87.txt, sub1_88.txt, sub1_89.txt, sub1_90.txt, sub1_91.txt, sub1_92.txt, sub1_93.txt, sub1_94.txt
Case Name Status Exec Time Memory
sample_01.txt AC 76 ms 14340 KiB
sample_02.txt AC 56 ms 14344 KiB
sub1_01.txt AC 78 ms 21648 KiB
sub1_02.txt AC 66 ms 18140 KiB
sub1_03.txt AC 64 ms 16668 KiB
sub1_04.txt AC 60 ms 15444 KiB
sub1_05.txt AC 88 ms 29124 KiB
sub1_06.txt AC 67 ms 17812 KiB
sub1_07.txt AC 68 ms 17544 KiB
sub1_08.txt AC 59 ms 14312 KiB
sub1_09.txt AC 68 ms 17524 KiB
sub1_10.txt AC 106 ms 32268 KiB
sub1_11.txt AC 58 ms 14416 KiB
sub1_12.txt AC 57 ms 14200 KiB
sub1_13.txt AC 59 ms 14272 KiB
sub1_14.txt AC 56 ms 14392 KiB
sub1_15.txt AC 58 ms 14296 KiB
sub1_16.txt AC 56 ms 14300 KiB
sub1_17.txt AC 88 ms 37892 KiB
sub1_18.txt AC 301 ms 42044 KiB
sub1_19.txt AC 310 ms 43820 KiB
sub1_20.txt AC 87 ms 38236 KiB
sub1_21.txt AC 86 ms 36256 KiB
sub1_22.txt AC 248 ms 40572 KiB
sub1_23.txt AC 214 ms 45116 KiB
sub1_24.txt AC 257 ms 42036 KiB
sub1_25.txt AC 90 ms 38584 KiB
sub1_26.txt AC 328 ms 42336 KiB
sub1_27.txt AC 117 ms 36424 KiB
sub1_28.txt AC 134 ms 36624 KiB
sub1_29.txt AC 94 ms 36060 KiB
sub1_30.txt AC 121 ms 36748 KiB
sub1_31.txt AC 79 ms 35308 KiB
sub1_32.txt AC 84 ms 34820 KiB
sub1_33.txt AC 126 ms 37496 KiB
sub1_34.txt AC 145 ms 37728 KiB
sub1_35.txt AC 234 ms 39176 KiB
sub1_36.txt AC 140 ms 38380 KiB
sub1_37.txt AC 325 ms 45108 KiB
sub1_38.txt AC 72 ms 16548 KiB
sub1_39.txt AC 69 ms 15864 KiB
sub1_40.txt AC 285 ms 44660 KiB
sub1_41.txt AC 76 ms 16720 KiB
sub1_42.txt AC 58 ms 14160 KiB
sub1_43.txt AC 56 ms 14452 KiB
sub1_44.txt AC 61 ms 14264 KiB
sub1_45.txt AC 57 ms 14148 KiB
sub1_46.txt AC 58 ms 14348 KiB
sub1_47.txt AC 59 ms 16032 KiB
sub1_48.txt AC 71 ms 16464 KiB
sub1_49.txt AC 67 ms 16288 KiB
sub1_50.txt AC 71 ms 16252 KiB
sub1_51.txt AC 58 ms 15136 KiB
sub1_52.txt AC 64 ms 16180 KiB
sub1_53.txt AC 64 ms 16028 KiB
sub1_54.txt AC 69 ms 16340 KiB
sub1_55.txt AC 322 ms 44456 KiB
sub1_56.txt AC 307 ms 42452 KiB
sub1_57.txt AC 91 ms 38096 KiB
sub1_58.txt AC 293 ms 42428 KiB
sub1_59.txt AC 306 ms 42528 KiB
sub1_60.txt AC 94 ms 38212 KiB
sub1_61.txt AC 151 ms 23960 KiB
sub1_62.txt AC 283 ms 40104 KiB
sub1_63.txt AC 58 ms 14216 KiB
sub1_64.txt AC 77 ms 29792 KiB
sub1_65.txt AC 65 ms 15196 KiB
sub1_66.txt AC 198 ms 30816 KiB
sub1_67.txt AC 71 ms 16480 KiB
sub1_68.txt AC 106 ms 19960 KiB
sub1_69.txt AC 70 ms 19556 KiB
sub1_70.txt AC 70 ms 20004 KiB
sub1_71.txt AC 59 ms 14308 KiB
sub1_72.txt AC 56 ms 14272 KiB
sub1_73.txt AC 56 ms 14204 KiB
sub1_74.txt AC 98 ms 22428 KiB
sub1_75.txt AC 65 ms 16396 KiB
sub1_76.txt AC 174 ms 38140 KiB
sub1_77.txt AC 59 ms 14452 KiB
sub1_78.txt AC 59 ms 14416 KiB
sub1_79.txt AC 63 ms 14472 KiB
sub1_80.txt AC 65 ms 14360 KiB
sub1_81.txt AC 62 ms 14192 KiB
sub1_82.txt AC 65 ms 14516 KiB
sub1_83.txt AC 57 ms 14344 KiB
sub1_84.txt AC 63 ms 14312 KiB
sub1_85.txt AC 66 ms 14280 KiB
sub1_86.txt AC 59 ms 14368 KiB
sub1_87.txt AC 57 ms 14316 KiB
sub1_88.txt AC 57 ms 14292 KiB
sub1_89.txt AC 536 ms 38272 KiB
sub1_90.txt AC 542 ms 38192 KiB
sub1_91.txt AC 541 ms 38216 KiB
sub1_92.txt AC 555 ms 38224 KiB
sub1_93.txt AC 538 ms 38276 KiB
sub1_94.txt AC 57 ms 14312 KiB