AtCoder ABC152
AtCoder ABC152解いた分だけまとめ。
今回はAB2完、Cは問題文がよく分からなかったので解説ACです。
レート少し下がって悲しい
目次
A. AC or WA
全部ACになるのは全テストケース数と通ったテストケース数が等しいときだけ。
その通りif文で分岐させる。おしまい。
ACしたコード
#coding:utf-8 n, m = map(int, input().split()) if n == m: print('Yes') else: print('No')
B. Comparing Strings
最初の入力を数字でとり、その後比較する数字を文字として変数に格納。
辞書での順番なので、単純に文字としてminを取る。
ACしたコード
#coding:utf-8 a, b = map(int,input().split()) a_num = str(a) * b b_num = str(b) * a print(min(str(a_num), str(b_num)))
C. Low Elements
ここから解説AC。問題文がとても読みにくかった。
累積和を使うらしい。蟻本でちゃんと読んで勉強しよう...
解説PDFを読んで実装してみた。
ポイント
- リストの累積和
itertools.accumulate(list, func)
ACしたコード
#coding:utf-8 import itertools n = int(input()) p = list(map(int, input().split())) ans = 0 #pの累積和を求める。 q = itertools.accumulate(p, min) q = list(q) # pの累積和とpを比べ、pの各要素について累積和以下であれば答えに入れる for i in range(n): if p[i] <= q[i]: ans += 1 print(ans)