結果
| 問題 |
No.1453 手助け
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-04-14 18:22:40 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 30 ms / 2,000 ms |
| コード長 | 1,734 bytes |
| コンパイル時間 | 353 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 10,880 KB |
| 最終ジャッジ日時 | 2024-10-10 09:27:35 |
| 合計ジャッジ時間 | 1,837 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 21 |
ソースコード
def calculate_total_price(A: int, B: int, C: int, D: int, E: int) -> int:
"""
パーティを開く予定なので、手土産に飴玉を買おうと思っています。
必要なぶんの飴玉を買うための合計金額を算出します。
Args:
A: int 1~100, 1人あたりに配る飴玉の数
B: int C~100, 招待する人数
C: int 1~B, 来てくれない人数
D: int 1~1000, 最初の飴玉の値段
E: int 1~1000, 割引が適用される個数
Returns:
int: 必要な飴玉の総額
Raises:
ValueError: 引数が要求される条件を満たしていない場合
"""
if not 1 <= A <= 100:
raise ValueError("A must be between 1 and 100")
if not C <= B <= 100:
raise ValueError("B must be between C and 100")
if not 1 <= C <= B:
raise ValueError("C must be between 1 and B")
if not 1 <= D <= 1000:
raise ValueError("D must be between 1 and 1000")
if not 1 <= E <= 1000:
raise ValueError("E must be between 1 and 1000")
# 1人あたりに必要な飴玉の数
num_candies_per_person = A
# 実際に来てくれた人数
actual_guests = B - C
# 必要な飴玉の総数
total_candies = num_candies_per_person * actual_guests
# 最初の飴玉の価格
current_price = D
# 必要な飴玉の総額
total_price = 0
for i in range(1, total_candies + 1):
# i個目の飴玉の価格を計算する
if i % 10 == 0 and E <= current_price:
current_price -= E
total_price += current_price
return total_price
A, B, C, D, E = map(int, input().split())
print(calculate_total_price(A, B, C, D, E))