結果
| 問題 | 
                            No.129 お年玉(2)
                             | 
                    
| コンテスト | |
| ユーザー | 
                             kyuna
                         | 
                    
| 提出日時 | 2019-08-19 17:35:43 | 
| 言語 | C++14  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 342 ms / 5,000 ms | 
| コード長 | 580 bytes | 
| コンパイル時間 | 603 ms | 
| コンパイル使用メモリ | 75,484 KB | 
| 実行使用メモリ | 394,496 KB | 
| 最終ジャッジ日時 | 2024-10-04 16:29:55 | 
| 合計ジャッジ時間 | 18,144 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 46 | 
ソースコード
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
const int MOD = (int)1e9;
vector<vector<int>> get_combination(int ma) {
    vector<vector<int>> mat(ma + 1, vector<int>(ma + 1));
    for (int n = 0; n <= ma; n++) mat[n][0] = 1;
    for (int n = 1; n <= ma; n++) for (int r = 1; r <= n; r++) {
        mat[n][r] = (mat[n - 1][r - 1] + mat[n - 1][r]) % MOD;
    }
    return mat;
}
int main() {
    vector<vector<int>> comb = get_combination(10000);
    long long n, m; cin >> n >> m;
    cout << comb[m][n / 1000 % m] % MOD << endl;
    return 0;
}
            
            
            
        
            
kyuna