AtCoder Beginner Contest 116

はい。
https://atcoder.jp/contests/abc116

A - Right Triangle

Python3

a,b,c=map(int,input().split())
print(a*b//2)

底辺かける高さ割る2ですね。

B - Collatz Problem

Python3

s=int(input())
 
chk=s
d={s:0}
for i in range(130):
    if chk%2: chk=chk*3+1
    else: chk//=2
    if chk in d:
        print(i+2)
        break
    else:
        d[chk]=0

コラッツ予想。厳密には?証明されていないはずですけども、必ず4,2,1に収束する範囲内で出てるようですし、収束するので素直にループ回しました。

C - Grand Garden

Python

n=int(input())
l=[int(i) for i in input().split()]
ans=l[0]
for i in range(1,n):
    if l[i]>l[i-1]:
        ans+=(l[i]-l[i-1])
print(ans)

端から見て今の数が手前の数より大きい時は必ず水やりが必要。
今の数が手前の数より小さい時は手前の時に既に水やり終わってる。
なので手前より大きい時だけ差分を足していけば良い。だと思います。