AtCoder Beginner Contest 127 A〜C問題
前書き
AtCoder Beginner Contest 127 A〜C問題を解きました。
面接のライブコーディングで歯がたたず、自分のコーディング力の無さに危機感を覚え、AtCoderにほぼ毎日取り組み始めてから1ヶ月。
これからも継続していきます。直近の目標は就活が完了するまでに茶色を目指す。
A問題
難易度:灰
時間:2分
A,B=map(int,input().split()) if A>=13: print(B) elif A>=6: print(int(B/2)) else: print(0)
C問題
難易度:灰(中)
時間:10分
カード数N:1≤N≤100000、ゲート数M:1≤M≤100000であり、
M個全てのゲートを通過するカードNの数を推測する問題。
二重ループさせるとO(N^2)=10^10超えなので、確実にTLEです。
ゲートで必要なのは通過できるカード番号の端の数字(最小と最大)です。
端の数字(最小と最大)さえ通過できれば間のカードは全て通過します。
これで計算量を省力化できます。
max-minが負の値となるときは全てのゲートを通過するカードがないので0。
N,M=map(int,input().split()) _min, _max=1,100000 for i in range(M): L,R=map(int,input().split()) _min=max(L,_min) _max=min(R,_max) print(max(_max-_min+1,0))