結果
問題 | No.2865 Base 10 Subsets 2 |
ユーザー | kotatsugame |
提出日時 | 2024-08-30 21:30:15 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 438 bytes |
コンパイル時間 | 714 ms |
コンパイル使用メモリ | 66,728 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-08-30 21:30:17 |
合計ジャッジ時間 | 1,211 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 12 |
ソースコード
#include<iostream> #include<cassert> using namespace std; string N; unsigned long K; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin>>N>>K; K--; unsigned long low=1; for(int i=0;i<N.size();i++)low*=N[i]-'0'+1; string ret=""; for(int i=0;i<N.size();i++) { low/=N[i]-'0'+1; char c=K/low+'0'; K%=low; assert('0'<=c&&c<=N[i]); if(c!='0'||!ret.empty())ret+=c; } if(ret.empty())ret="0"; cout<<ret<<endl; }