結果

問題 No.41 貯金箱の溜息(EASY)
ユーザー oxyshoweroxyshower
提出日時 2019-02-27 23:45:26
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 43 ms / 5,000 ms
コード長 564 bytes
コンパイル時間 1,402 ms
コンパイル使用メモリ 167,956 KB
実行使用メモリ 18,816 KB
最終ジャッジ日時 2024-06-23 05:23:15
合計ジャッジ時間 1,982 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 41 ms
18,684 KB
testcase_01 AC 43 ms
18,816 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

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

const int MOD = 1e9+9;
const int N = 1e6+10;

signed main(){
  cin.tie(0);
  ios::sync_with_stdio(false);

  vector<int> dp(N,0);
  dp[0] = 1;
  for(int i = 1; i <= 9; i++){
    for(int j = 0; j < N-i; j++){
      dp[i+j] += dp[j];
      dp[i+j] %= MOD;
    }
  }

  vector<int> v(N,0);
  for(int i = 1; i < N; i++){
    v[i] += v[i-1] + dp[i];
    v[i] %= MOD;
  }

  int q; cin >> q;
  for(int i = 0; i < q; i++){
    int m; cin >> m;
    cout << v[m / 111111] + 1 << endl;
  }


  return 0;
}
0