古戦場帰りで頭がグルグルになってたのか何もわからなくなった。
もうだめだ……おしまいだ……。
A - Don't be late
普通。
$T×S≧D$ならYes、そうでないならNoを出せば良いですね。
d,t,s=map(int,input().split())
print("Yes" if d<=t*s else "No")
B - Substring
メダパニゾーン
なんかとち狂った解法にたどり着いてしまった気がする。
というかどういう考えでこのコードに至ったのか思い出せない。
s=input()
t=input()
res=float("INF")
if t in s:
res=0
else:
for i in range(len(s)):
for j in range(len(t)):
if s[i]==t[j] and i>=j and len(s)-i>=len(t)-j :
tmp=j
for k in range(j,len(t)):
if i-j+k<(len(s)) and s[i-j+k] != t[k]:
tmp+=1
res=min(res,tmp)
解説見たらあーなるほどねという感じと、なんでこれにたどり着かなかったのかという感じが半々。
やはりメダパニかかってたのでは?
s=input()
t=input()
res=len(t)
for i in range(len(s)-len(t)+1):
tmp=0
for j in range(len(t)):
if s[i+j] != t[j]:
tmp+=1
res=min(tmp,res)
print(res)
C - Sum of product of pairs
愚直にやったらTLEだよなあと思いつつも短縮させる方法が思いつかなかったのでぶん投げて残りの時間はすべてゲームに費やした。
n=int(input())
a=[int(i)for i in input().split()]
res=0
mod=10**9+7
for i in range(n-1):
res+=sum(map(lambda x:x*a[i]%mod,a[i+1:]))
print(res%mod)
あらかじめsumAを求めておいてそこから$A_i$を引いたものに$A_i$をかければ良かったとは……。分配法則の概念を完全に忘れてました。
n=int(input())
a=[int(i) for i in input().split()]
s=sum(a)
mod=10**9+7
res=0
for i in a:
s-=i
res+=i*s%mod
print(res%mod)
おわりに
なんか今回難しくなかったですか? twitter見ても悲鳴が多いような気が1。
先週は10分でCまで終わったので急に意味わからないのが来て結構やる気が消えました。
バランス調整が雑なゲームは嫌ですね。
とりあえずこれの残りをやります。
-
過去の開催時のtwitter見てないのでわかりませんが ↩