結果
問題 | No.2865 Base 10 Subsets 2 |
ユーザー | 👑 Nachia |
提出日時 | 2024-08-30 22:24:33 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,034 bytes |
コンパイル時間 | 748 ms |
コンパイル使用メモリ | 83,964 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-08-30 22:24:37 |
合計ジャッジ時間 | 1,341 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 12 |
ソースコード
#ifdef NACHIA #define _GLIBCXX_DEBUG #else #define NDEBUG #endif #include <iostream> #include <string> #include <vector> #include <algorithm> #include <tuple> using i64 = long long; using u64 = unsigned long long; #define rep(i,n) for(int i=0; i<int(n); i++) const i64 INF = 1001001001001001001; template<typename A> void chmin(A& l, const A& r){ if(r < l) l = r; } template<typename A> void chmax(A& l, const A& r){ if(l < r) l = r; } #include <atcoder/modint> using Modint = atcoder::static_modint<998244353>; using namespace std; void testcase(){ string N; cin >> N; i64 n = N.size(); vector<i64> r(n+1); r[n] = 1; for(i64 i=n-1; i>=0; i--) r[i] = r[i+1] * (N[i] - '0' + 1); i64 K; cin >> K; K--; vector<i64> C; for(i64 i=1; i<=n; i++){ C.push_back(K / r[i]); K %= r[i]; } while(C.size() >= 2 && C[0] == 0) C.erase(C.begin()); for(auto c : C) cout << c; cout << endl; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); testcase(); return 0; }