AtCoder Beginner Contest 164 振り返り

参照

atcoder.jp

A問題

問題なく。

s,w=map(int, input().split())
if s<=w: print('unsafe')
else: print('safe')

B問題

もう少し正確さとスピードを求めないとなあ。

a,b,c,d=map(int, input().split())
import math
if math.ceil(c/b)<=math.ceil(a/d): print('Yes')
else: print('No')

C問題

Cの割にはかなり簡単でした。

n = int(input())
syurui = []
for i in range(n):
  k=input()
  syurui.append(k)
print(len(list(set(syurui))))

D問題

泥臭く二重ループする作戦しか思いつきませんでした。
当然TLE。
調べてみると緑レベルの問題だったようで・・・

import itertools
text = input()
l = len(text)

lis = []
a = list(itertools.combinations(range(1,l+1), 2))
for i in a:
  t=text[i[0]-1:i[1]]
  if len(t)>=4 and int(t)%2019==0:
    lis.append(t)
print(len(lis))