| 提出番号 | 1827 |
|---|---|
| 提出者 | mamekin |
| 言語 | C++ |
| 提出日時 | 2018-08-04 14:08:01 |
| 問題名 | (72)K-th DigitSum |
| 結果 | AC |
| 点数 | 100% |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | AC | 100% | 3ms | 8336KB |
| 2 | AC | 100% | 2ms | 8640KB |
| 3 | AC | 100% | 2ms | 8384KB |
| 4 | AC | 100% | 2ms | 8384KB |
| 5 | AC | 100% | 3ms | 8064KB |
| 6 | AC | 100% | 3ms | 8272KB |
| 7 | AC | 100% | 3ms | 8192KB |
| 8 | AC | 100% | 2ms | 7776KB |
| 9 | AC | 100% | 3ms | 8704KB |
| 10 | AC | 100% | 3ms | 8672KB |
| 11 | AC | 100% | 2ms | 8608KB |
| 12 | AC | 100% | 2ms | 8064KB |
| 13 | AC | 100% | 2ms | 7824KB |
| 14 | AC | 100% | 2ms | 8064KB |
| 15 | AC | 100% | 3ms | 8720KB |
| 16 | AC | 100% | 2ms | 8720KB |
| 17 | AC | 100% | 3ms | 8432KB |
| 18 | AC | 100% | 3ms | 8016KB |
| 19 | AC | 100% | 2ms | 8672KB |
| 20 | AC | 100% | 3ms | 8160KB |
| 21 | AC | 100% | 3ms | 8416KB |
| 22 | AC | 100% | 2ms | 7632KB |
| 23 | AC | 100% | 2ms | 8432KB |
| 24 | AC | 100% | 2ms | 8432KB |
| 25 | AC | 100% | 2ms | 7632KB |
| 26 | AC | 100% | 2ms | 8688KB |
| 27 | AC | 100% | 2ms | 8720KB |
| 28 | AC | 100% | 3ms | 8704KB |
| 29 | AC | 100% | 2ms | 8064KB |
| 30 | AC | 100% | 3ms | 7616KB |
| 31 | AC | 100% | 4ms | 8064KB |
| 32 | AC | 100% | 2ms | 7248KB |
| 33 | AC | 100% | 2ms | 8400KB |
| 34 | AC | 100% | 2ms | 7248KB |
| 35 | AC | 100% | 2ms | 8704KB |
| 36 | AC | 100% | 3ms | 7472KB |
| 37 | AC | 100% | 3ms | 8448KB |
| 38 | AC | 100% | 2ms | 8416KB |
| 39 | AC | 100% | 3ms | 8672KB |
| 40 | AC | 100% | 3ms | 7536KB |
| 41 | AC | 100% | 2ms | 7232KB |
| 42 | AC | 100% | 2ms | 7792KB |
| 43 | AC | 100% | 2ms | 8064KB |
| 44 | AC | 100% | 2ms | 7520KB |
| 45 | AC | 100% | 3ms | 7504KB |
| 46 | AC | 100% | 2ms | 8080KB |
| 47 | AC | 100% | 1ms | 8736KB |
| 48 | AC | 100% | 2ms | 8160KB |
| 49 | AC | 100% | 3ms | 7824KB |
| 50 | AC | 100% | 2ms | 8416KB |
| 51 | AC | 100% | 2ms | 7248KB |
#define _USE_MATH_DEFINES
#include <cstdio>
#include <iostream>
#include <sstream>
#include <fstream>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <complex>
#include <string>
#include <vector>
#include <array>
#include <list>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <bitset>
#include <numeric>
#include <limits>
#include <climits>
#include <cfloat>
#include <functional>
#include <iterator>
#include <memory>
using namespace std;
int main()
{
int n, k;
cin >> n >> k;
vector<vector<long long> > dp(1, vector<long long>(n+1, 0));
dp[0][0] = 1;
for(int i=0; ; ++i){
dp.push_back(vector<long long>(n+1, 0));
for(int j=0; j<=n; ++j){
for(int a=0; a<=9 && j+a<=n; ++a){
dp[i+1][j+a] += dp[i][j];
}
}
if(dp[i+1][n] >= k)
break;
}
string s;
for(int i=dp.size()-1; i>0; --i){
int a = 0;
while(dp[i-1][n-a] < k){
k -= dp[i-1][n-a];
++ a;
}
n -= a;
s += (char)('0' + a);
}
cout << s << endl;
return 0;
}