結果

問題 No.2947 Sing a Song
ユーザー elphe
提出日時 2024-12-05 17:09:52
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 9 ms / 2,000 ms
コード長 816 bytes
コンパイル時間 800 ms
コンパイル使用メモリ 75,016 KB
最終ジャッジ日時 2025-02-26 11:05:45
ジャッジサーバーID
(参考情報)
judge2 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 25
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <cstdint>
#include <vector>

using namespace std;

int main()
{
	cin.tie(nullptr);
	ios::sync_with_stdio(false);

	int32_t N, i, j;
	cin >> N;
	string S, T;
	cin >> S >> T;
	vector<int32_t> A(N);
	for (i = 0; i != N; ++i)
		cin >> A[i];

	vector<pair<int32_t, int32_t>> ans(N);
	for (i = 0; i != N; ++i)
		for (j = 0; T.size() * j <= A[i]; ++j)
			if ((A[i] - T.size() * j) % S.size() == 0)
			{
				ans[i] = { (A[i] - T.size() * j) / S.size(), j };
				break;
			}

	for (i = 0; i != N; ++i)
	{
		if (ans[i].first != 0)
		{
			cout << S;
			for (j = 1; j < ans[i].first; ++j)
				cout << ' ' << S;
			for (j = 0; j < ans[i].second; ++j)
				cout << ' ' << T;
		}
		else
		{
			cout << T;
			for (j = 1; j < ans[i].second; ++j)
				cout << ' ' << T;
		}

		cout << '\n';
	}

	return 0;
}
0