バチャのリンク
(1. ABC161 C)[https://atcoder.jp/contests/abc161/tasks/abc161_c]
Modをとる。Kono君めっちゃ早くて焦る
n, k = map(int, input().split())
ans = min(n % k, -n % k)
print(ans)
(2. ABC201 C)[https://atcoder.jp/contests/abc201/tasks/abc201_c]
色々と場合分けしたほうがきれいに書けそうだが、サンプル通らなかったので全探索
s = input()
ans = 0
for i in range(10 ** 4):
now = str(i)
ok = True
while len(now) != 4:
now = "0" + now
for j in range(10):
if s[j] == "o" and str(j) in now:
continue
if s[j] == "?":
continue
if s[j] == "x" and str(j) not in now:
continue
ok = False
if ok:
ans += 1
print(ans)
3. なんかのB問題
等差数列の和がTotal = n*(1+n)/2って書けるから、とりあえず「最大値が最小になるよう」な数は求まる。
あとは、その数から1ずつ引いて求める
n = int(input())
last = 0
for i in range(10 ** 5):
if 2 * n <= i + i ** 2:
last = i
break
ans = []
now = last + 1
while n:
now -= 1
if n - now >= 0:
ans.append(now)
n -= now
print(*ans[::-1])
4. なんかのB問題
あとで書きます。https://atcoder.jp/contests/caddi2018b/editorial←公式の解説