AtCoder

ABC307 A問題(Weekly Records)を解く

AtCoder_ABC307_A

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

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

A問題 Weekly Records(Difficulty : 10)

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

ABC307 A問題 Weekly Records

繰り返し文で7個毎の総和を求める問題です。AtCoder Problems による Difficulty は 10 でした。

解答案

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

与えられた N 回、以下を繰り返します。

  • 7個の和を求める(16行目)。
  • その和を出力する(18行目)。

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

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

int main()
{
	int n;
	cin >> n;
	vector<int> a(7 * n);
	for (int i = 0; i < 7 * n; ++i) {
		cin >> a[i];
	}

	for (int i = 0; i < n; ++i) {
		int sum = 0;
		for (int j = 0; j < 7; ++j) {
			sum += a[i * 7 + j];
		}
		cout << sum << " ";
	}
	cout << endl;

	return 0;
}

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

Python プログラム例(ABC307A)

Python 版は、7個毎の和を変数 result に格納して、後でまとめて出力しています(10、12行目)。

"""AtCoder Beginner Contest 307 A"""
n = int(input())
a = list(map(int, input().split()))

result = []
for i in range(n):
    s = 0
    for j in range(7):
        s += a[i * 7 + j]
    result.append(s)

print(*result)

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

最後に

AtCoder から、2023年4月から6月にかけて発生した障害報告書が公開されました。報告書から、コンテスト時には1000台以上のジャッジサーバーが動いていることが分かりました。質問から、今回もダウンタイムはあったようですが、コンテスト自体は無事に終了しました。運営のみなさまに感謝したいと思います。

障害報告書は、記事として紹介しようと考えています。

ABC307 について、引き続き問題を紹介していきます。

COMMENT

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

CAPTCHA