AtCoder Beginner Contest 081/AtCoder Regular Contest 086

はい。
https://beta.atcoder.jp/contests/abc081

A - Placing Marbles

Python3

s=input()
s=s.replace("0","")
print(len(s))

1の個数をなんらかの方法で見れば大丈夫、多分。countした方が楽な書き方です。先々週になぜこんな書き方したのか覚えてない。

B - Shift only

Pyhthon3

n=int(input())
a=[int(i) for i in input().split()]
ans=40
for i in a:
    tmp=0
    while i%2==0 and tmp<ans:
        i//=2
        tmp+=1
    ans=min(ans,tmp)
print(ans)

処理時間に余裕があるし適当に書いてもどうにでもなりそうなのでそれぞれ別々に奇数になるまで割り続けて最小回数を解にした。

C - Not so Diverse

Pyhthon3

n,k=map(int,input().split())
a=[int(i) for i in input().split()]
d={}
for i in a:
    if i in d:
        d[i]+=1
    else:
        d[i]=1
t=[]
for i in d:
    t.append(d[i])
t.sort()
print(sum(t[0:-k]))

それぞれの同じ数がいくつあるか数えておいて、同じ数が少ないものが書き換え候補だと思う。