Untitled
unknown
plain_text
a year ago
1.8 kB
12
Indexable
#include<bits/stdc++.h> using namespace std; #define int long long typedef long long ll; typedef vector<int> vi; typedef vector<vector<int>> vvi; // ------------------------MeMe-----------------------// vector<int> transform(int number, int base){ vector<int> v; while(number){ v.emplace_back(number % base); number /= base; } return v; } void code() { int a, b; cin >> a >> b; vector<int> v = transform(b, a); int sum = 0; for (auto &i : v){ sum += i; } if (sum > a) return void (cout << -1); int rem = a - sum; if (rem % (a - 1)) return void (cout << -1); rem /= a - 1; int sz = v.size(); for (int i = sz - 1; i > 0; --i){ if (v[i] <= rem){ v[i - 1] += v[i] * a; rem -= v[i]; v[i] = 0; } else { v[i] -= rem; v[i - 1] += rem * a ; rem = 0; } } sum = 0; for (auto &i : v){ sum += i; } if (sum != a) return void (cout << -1); cout << sz - 1 << '\n'; int x = 0; for (int i = 0; i < sz; ++i){ cout << v[i] << ' '; } } int32_t main() { ios_base::sync_with_stdio(false); cin.tie(NULL); #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); freopen("err.txt", "w", stderr); #endif int tt = 1; //cin >> tt; for (int tn = 1 ; tn <= tt ; tn++) { #ifndef ONLINE_JUDGE cout << "_________Test_" << tn << "_________" << endl; cerr << "_________Test_" << tn << "_________" << endl; #endif code(); } #ifndef ONLINE_JUDGE cout << "________________________" ; cerr << "________________________" ; #endif return 0; }
Editor is loading...
Leave a Comment