結果

問題 No.2922 Rose Garden
ユーザー ktsn-ud
提出日時 2024-10-12 15:12:32
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 109 ms / 3,000 ms
コード長 839 bytes
コンパイル時間 189 ms
コンパイル使用メモリ 82,300 KB
実行使用メモリ 106,924 KB
最終ジャッジ日時 2024-10-12 15:12:42
合計ジャッジ時間 5,362 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 50
権限があれば一括ダウンロードができます

ソースコード

diff #

from sys import stdin


def div(p, wari):
    return (p+wari-1) // wari


def main():
    n, s, b = map(int, stdin.readline().split())
    h = list(map(int, stdin.readline().split()))

    onlyup = [h[0]]
    highest = h[0]
    for i in range(1, n):
        if h[i] > highest:
            onlyup.append(h[i])
            highest = h[i]

    cur_height = h[0]
    stamina = s
    for i in range(1, len(onlyup)):
        need = div(onlyup[i] - cur_height, b)
        if need <= stamina:
            stamina -= need
        else:
            cur_height = onlyup[i-1]
            stamina = s
            need = div(onlyup[i] - cur_height, b)
            if need <= stamina:
                stamina -= need
            else:
                print('No')
                return
    print('Yes')
    return


if __name__ == "__main__":
    main()
0