AtCoder Beginner Contest 189 / Python
結果
前回間違ってキーエンスのやつ出ちゃったら、
1問も解けないっていうね。
そういう場合は不参加だったってことになりませんかね・・・
見なかったことにはしてくれない厳しさ。
今回も3問だったから、こりゃダメだと思ったけど。
思ったほどのダメさではなかったので助かった。
とは言え0問提出で落とした分を全然取り返せていない。
あんま変なことしてると灰色に戻りそう・・・やべぇぜ。
問題と解答と勉強
提出したコード
if len(set(input())) == 1: print("Won") else: print("Lost")
提出したコード
N, X = map(int, input().split()) x = 0 for i in range(N): V, P = map(int, input().split()) x += V * P if x > X*100: print(i+1) exit() print("-1")
ここで、めちゃくちゃ苦戦してしまった。
ラスト10分まで粘って、どうにかこうにか通した。
提出したコード
N = int(input()) A = list(map(int, input().split())) ans = 0 for i in range(N): m = A[i] if ans < m: ans = m for j, a in enumerate(A[i+1:]): if m > a: m = a if ans < m*(j+2): ans = m*(j+2) print(ans)
これもね結局 Python だと通らなくて、PyPyで通してるのよね。
何かちょっとズルしたような気持ち。
TLE のやつ
N = int(input()) A = list(map(int, input().split())) ans = 0 for i in range(N): for j in range(i+1,N+1): a = min(A[i:j])*(j-i) if a > ans: ans = a print(ans)
最初こういうの書いてたんだけど。
これはめちゃめちゃ遅いらしいんよね。
PyPy だろうと何だろうと通るようなもんじゃない。
ちなみに正解はこうらしい。
N = int(input()) A = [int(i) for i in input().split()] ans=0 for i in range(N): m = A[i] for j in range(i,N): m = min(A[j], m) ans = max(ans, m*(j-i+1)) print(ans)
こう見ると惜しかったね。
だいたい正解説ある。
これはね、3つ目に時間掛かり過ぎて見れなかったけど。
どうなんでしょう、今考えてみよう。
んーー、ようわからん。
というか試験時間終わってると考える気力萎え気味。
しかしこいつ、プロからしたら簡単なようで。
プロの所業
T = F = 1 for _ in range(int(input())): if input() == "AND": F += T + F else: T += T + F print(T)
これで終わりらしい。
ホンマかいな。
はーーん、思い付かんなぁ。
5,6は安定のパス。
恒例の見てもないやーつ。