水面下の夢

競プロやイラストに興味があります.メインブログがここ.同人サークル「かのらぶ」のページはこっち( https://yumechi0525.amebaownd.com ).ブログアイコンはYaQ(@8_9_00)さんから.

code thanks festival 2014 A日程(オープンコンテスト) D - 定期券 (2015/06/05)

回答

Submission #419462 - code thanks festival 2014 A日程(オープンコンテスト) | AtCoder

言われたとおりにやればOK.条件分岐だけしっかりやりましょう.
サンプル2が割りと条件網羅できていて良い感じなので,これでテストすると安心かも.
ただ,Pythonの場合は逐次読込しているとTLEで落ちてしまうので,内包表記で予め読み込む必要があります.つらい.

N, Q = map(int, input().split())
table = [list(map(int, input().split())) for _ in range(Q)]
for elem in table:
	a, b, s, t = elem
	if a <= s < t <= b:
		print(0)
	elif s <= a < b <= t:
		print(100 * (t - s - (b - a)))
	elif a <= s < b:
		print(100 * (t - s - (b - s)))
	elif a < t <= b:
		print(100 * (t - s - (t - a)))
	else:
		print(100 * (t - s))