AtCoder

ABC332 A問題(Online Shopping)を解く

AtCoder_ABC332_A

AtCoder が提供しているABC(AtCoder Beginner Contest)332 のA問題をC++とPythonで解いてみました。ABC332は、2023年12月10日21:00に実施されました。

AtCoder の紹介はこちらに、プログラミングの方針はこちらに記事があります。

A問題 Online Shopping(Difficulty : 9)

問題はリンク先をご覧ください。

ABC332 A問題 Online Shopping

与えられた問題に従い支払い金額を求めます。AtCoder Problems による Difficulty は 9 でした。

解答案

C++ プログラム例(ABC332A)

支払い金額を以下の手順で求めます。

  • 商品の単価と個数を掛けて変数 result に加えていきます(12行目)。
  • 購入金額の合計が s 未満なら送料 k を加えます(16行目)。

以下が、C++プログラムとなります。

#include <bits/stdc++.h>
using namespace std;

int main()
{
	int n, s, k;
	cin >> n >> s >> k;
	int result = 0;
	for (int i = 0; i < n; ++i) {
		int p, q;
		cin >> p >> q;
		result += p * q;
	}

	if (result < s) {
		result += k;
	}

	cout << result << endl;

	return 0;
}

AC(Accepted=正しいプログラム)と判定されました。

Python プログラム例(ABC332A)

Python 版も基本的な考え方は同じです。以下となります。

"""AtCoder Beginner Contest 332 A"""
n, s, k = map(int, input().split())
result = 0
for i in range(n):
    p, q = map(int, input().split())
    result += p * q

if result < s:
    result += k

print(result)

こちらも「AC」と判定されました。

最後に

今回(ABC332)は、ABCとして久しぶりに日曜日に開催されました。土曜日開催より、わずかですが参加人数が減った気がします(A問題が解けた人、ABC331:8724人、ABC332:7364人)。

引き続き ABC の問題を紹介していきます。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA