| 提出番号 | 1808 |
|---|---|
| 提出者 | yamad |
| 言語 | C++ |
| 提出日時 | 2018-08-04 14:00:12 |
| 問題名 | (72)K-th DigitSum |
| 結果 | WA |
| 点数 | 0% |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | AC | 100% | 23ms | 51552KB |
| 2 | AC | 100% | 15ms | 37408KB |
| 3 | AC | 100% | 6ms | 17936KB |
| 4 | WA | 0% | 3ms | 8000KB |
| 5 | AC | 100% | 26ms | 55584KB |
| 6 | AC | 100% | 26ms | 58400KB |
| 7 | AC | 100% | 24ms | 54752KB |
| 8 | WA | 0% | 4ms | 10816KB |
| 9 | AC | 100% | 34ms | 60688KB |
| 10 | AC | 100% | 25ms | 59072KB |
| 11 | WA | 0% | 2ms | 8704KB |
| 12 | AC | 100% | 4ms | 10992KB |
| 13 | AC | 100% | 6ms | 17424KB |
| 14 | AC | 100% | 17ms | 38432KB |
| 15 | AC | 100% | 22ms | 54944KB |
| 16 | AC | 100% | 18ms | 44880KB |
| 17 | AC | 100% | 26ms | 57376KB |
| 18 | AC | 100% | 27ms | 56752KB |
| 19 | AC | 100% | 8ms | 19984KB |
| 20 | AC | 100% | 23ms | 52672KB |
| 21 | AC | 100% | 21ms | 49216KB |
| 22 | AC | 100% | 3ms | 8864KB |
| 23 | AC | 100% | 14ms | 34144KB |
| 24 | WA | 0% | 2ms | 8720KB |
| 25 | WA | 0% | 2ms | 7760KB |
| 26 | WA | 0% | 2ms | 8192KB |
| 27 | AC | 100% | 25ms | 53952KB |
| 28 | AC | 100% | 28ms | 58320KB |
| 29 | AC | 100% | 4ms | 12528KB |
| 30 | AC | 100% | 33ms | 60880KB |
| 31 | AC | 100% | 33ms | 66544KB |
| 32 | AC | 100% | 14ms | 35120KB |
| 33 | AC | 100% | 16ms | 35808KB |
| 34 | AC | 100% | 11ms | 27440KB |
| 35 | AC | 100% | 13ms | 34480KB |
| 36 | AC | 100% | 32ms | 63264KB |
| 37 | AC | 100% | 25ms | 59568KB |
| 38 | AC | 100% | 7ms | 17792KB |
| 39 | AC | 100% | 25ms | 59520KB |
| 40 | AC | 100% | 26ms | 55568KB |
| 41 | WA | 0% | 2ms | 8128KB |
| 42 | AC | 100% | 15ms | 40144KB |
| 43 | WA | 0% | 3ms | 9760KB |
| 44 | AC | 100% | 10ms | 25392KB |
| 45 | AC | 100% | 24ms | 55200KB |
| 46 | AC | 100% | 12ms | 27504KB |
| 47 | WA | 0% | 2ms | 8176KB |
| 48 | WA | 0% | 2ms | 8400KB |
| 49 | AC | 100% | 17ms | 41104KB |
| 50 | AC | 100% | 4ms | 10704KB |
| 51 | AC | 100% | 3ms | 8112KB |
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll, ll> P;
#define fi first
#define se second
#define repl(i,a,b) for(ll i=(ll)(a);i<(ll)(b);i++)
#define rep(i,n) repl(i,0,n)
#define all(x) (x).begin(),(x).end()
#define dbg(x) cout<<#x"="<<x<<endl
#define mmax(x,y) (x>y?x:y)
#define mmin(x,y) (x<y?x:y)
#define maxch(x,y) x=mmax(x,y)
#define minch(x,y) x=mmin(x,y)
#define uni(x) x.erase(unique(all(x)),x.end())
#define exist(x,y) (find(all(x),y)!=x.end())
#define bcnt __builtin_popcount
#define INF 1e16
#define mod 1000000007
ll N,K;
ll dp[1001][1001][2];
int main(){
cin>>N>>K;
dp[0][0][0]=1;
rep(i,N)rep(j,N+1)rep(k,2){
rep(d,10){
if(j+d<=N)dp[i+1][j+d][k==1||d>0]+=dp[i][j][k];
}
}
ll d=1;
while(dp[d][N][1]<K){
K-=dp[d][N][1];
d++;
}
string res;
ll rest=N;
rep(i,d){
repl(k,i==0?1:0,10){
ll nrest=rest-k;
if(dp[d-1-i][nrest][(i==d-1?0:1)]<K){
K-=dp[d-1-i][nrest][(i==d-1?0:1)];
}else{
res+=to_string(k);
rest-=k;
break;
}
}
}
cout<<res<<endl;
return 0;
}