Untitled
unknown
plain_text
a year ago
1.8 kB
29
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