Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- using namespace std;
- int main() {
- vector<long long> answer;
- long long n, k, i = 0;
- double degree = 1;
- cin >> n >> k;
- if (n >= 1){
- while (degree * k < n) {
- degree *= 2;
- i++;
- }
- while (n >= 1) {
- if (n >= degree) {
- n -= degree;
- answer.push_back(i);
- }
- else {
- i--;
- degree /= 2;
- }
- }
- }
- /*
- if (n != 0) {
- while (degree * (k - answer.size()) > n) {
- degree /= 2;
- i--;
- }
- degree *= 2;
- i++;
- while (n != 0) {
- if (degree * (k - answer.size()) > n) {
- n -= degree;
- answer.push_back(i);
- }
- else {
- i++;
- degree *= 2;
- }
- }
- }
- */
- sort(answer.begin(), answer.end());
- for (i = answer.size() - 1; i > -1; i++) {
- cout << answer[i] << ' ';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement