AtCoder

ABC373 C問題(Max Ai+Bj)を解く

AtCoder_ABC373_C

AtCoder が提供しているABC(AtCoder Beginner Contest)373 C問題をC++とPythonで解いてみました。ABC373は、2024年9月28日21:00に実施されました。

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

C問題 Max Ai+Bj(Difficulty : 75)

問題の詳細は、リンク先をご覧ください。

ABC373 C問題 Max Ai+Bj

数列Aと数列Bのそれぞれの最大値を加えます。AtCoder Problems による Difficulty は 75 でした。

解答案

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

数列 $A$ の値と数列 $B$ の値は、それぞれ独立に決めることができます。このため、数列 $A$ の最大値と数列 $B$ の最大値を加えた値が解となります。

以下が、C++プログラムです。

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

#define INF 1000000001

int main()
{
	int n;
	cin >> n;
	int max_a = -INF;
	for (int i = 0; i < n; ++i) {
		int a;
		cin >> a;
		max_a = max(max_a, a);
	}

	int max_b = -INF;
	for (int i = 0; i < n; ++i) {
		int b;
		cin >> b;
		max_b = max(max_b, b);
	}

	cout << max_a + max_b << endl;

	return 0;
}

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

Python プログラム例(ABC373C)

Python版も基本的な考え方は同じです。組込み関数 max でリストの最大値を求めることができるため、全体がすっきりと書けています。以下がプログラムです。

"""AtCoder Beginner Contest 373 C"""
n = int(input())
a = list(map(int, input().split()))
b = list(map(int, input().split()))

print(max(a) + max(b))

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

最後に

C問題としては、取り組みやすい難易度の問題でした。

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

COMMENT

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

CAPTCHA