😸
ABC185
リンク
A問題
print(min(map(int, input().split())))
ワンライナーでかけた。
B問題
n, m, t = map(int, input().split())
now = 0
strage = n
frag = True
for _ in range(m):
a, b = map(int, input().split())
strage -= a - now
if(strage <= 0):
frag = False
strage = min(strage + b - a, n)
now = b
strage -= t - now
if(strage <= 0):
frag = False
if(frag):
print("Yes")
else:
print("No")
C問題
from scipy.special import comb
print(int(comb(int(input())-1, 11, exact=True)))
仕切りがあるタイプの組み合わせ問題なので
D問題
n, m = map(int, input().split())
a = list(map(int, input().split()))
if(m == 0):
print(1)
else:
a.sort()
a.insert(0, 0)
dis = []
ans = 0
for i in range(m):
dis.append(a[i+1]-a[i] - 1)
dis.append(n - a[m])
d = [x for x in dis if x != 0]
if(len(d) == 0):
print(0)
else:
ex = min(d)
for i in range(m+1):
ans += -(-1*dis[i] // ex)
print(ans)
はじめに与えられたリストをソートし、最初に0, 最後に
E問題(わからなかった)
参考リンク
考え方
文字列操作系DP下手くそすぎるので知識面含めて勉強が必要だなあと強く思いました
Discussion