結果

問題 No.41 貯金箱の溜息(EASY)
コンテスト
ユーザー Unbakedbread
提出日時 2025-12-11 01:04:38
言語 C++23
(gcc 13.3.0 + boost 1.89.0)
結果
AC  
実行時間 23 ms / 5,000 ms
コード長 420 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 3,081 ms
コンパイル使用メモリ 278,608 KB
実行使用メモリ 7,848 KB
最終ジャッジ日時 2025-12-11 01:04:43
合計ジャッジ時間 3,867 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 2
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

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

using ll = long long;
constexpr int mod = 1e9 + 9;

int main(void) {
	const int N = 100000;
	vector<ll> dp(N, 0);
	for(int i = 0; i < N; ++i) dp[i] = i + 1;
	
	for(int c = 2; c <= 9; ++c) for(int i = 0; i + c < N; ++i) dp[i + c] = (dp[i + c] + dp[i]) % mod;
	
	int T;
	cin >> T;
	while(T--) {
		ll M;
		cin >> M;
		
		M /= 111111;
		cout << dp[M] << "\n";
	}
	
	return 0;
}
0