(備忘録)AtCoderをやって14

問題

atcoder.jp

他の回答

今回は問題の趣旨よく分からんかったので回答見ながら学習(とは言っても30パーセントくらいの理解)

累積和の理解が出来ず

n,m = gets.split.map(&:to_i)
x = 1
y = n
m.times do 
  l,r =gets.split.map(&:to_i)
  x = [x,l].max
  y = [y,r].min
end
if x <= y
  puts y-x+1
else
  puts 0
end
n, m = gets.split.map(&:to_i)
g = []

m.times { g << gets.split.map(&:to_i) }

min = 0
max = n
g.each do |l,r|
  min = [min, l].max
  max = [max, r].min
end

puts max - min < 0 ? 0 : max - min + 1