44#include < cmath>
55#include < algorithm>
66
7- using namespace std ;
8-
9- // Source: https://www.hackerrank.com/contests/world-codesprint-6/ challenges/bonetrousle
7+ // Source:
8+ // - https://www.hackerrank.com/contests/world-codesprint-6/challenges/bonetrousle
9+ // - https://www.hackerrank.com/challenges/bonetrousle/problem
1010
1111/* *
1212 * Bonetrousle
@@ -38,7 +38,7 @@ using namespace std;
3838 */
3939
4040unsigned long long sumFirstNums (const unsigned long long &x) {
41- return (x*(x+ 1 ))/ 2 ;
41+ return (x * (x + 1 )) / 2 ;
4242}
4343
4444unsigned long long sumLastNums (const unsigned long long & lastNum, const unsigned long long & howMany) {
@@ -52,39 +52,40 @@ unsigned long long sumLastNums(const unsigned long long& lastNum, const unsigned
5252
5353void printAnswerExtraSpace (const unsigned long long &n, const unsigned long long &k, const unsigned long long &b) {
5454 if (sumFirstNums (b) > n || sumLastNums (k, b) < n) {
55- cout << " -1" ;
55+ std:: cout << " -1" ;
5656 } else {
5757 unsigned long long sum = sumFirstNums (b);
5858 unsigned long long valToAdd = k + 1 ; // 1 more than the max value we can add for our first custom box
59- vector<unsigned long long > customBoxes;
59+ std:: vector<unsigned long long > customBoxes;
6060
6161 while (sum < n) {
6262 // subtract last box value
6363 sum -= (b - customBoxes.size ());
6464
6565 // add largest value we need
66- valToAdd = min (n - sum, valToAdd-1 );
66+ valToAdd = std:: min (n - sum, valToAdd-1 );
6767
6868 sum += valToAdd;
6969 customBoxes.push_back (valToAdd);
7070 }
7171
7272 for (unsigned long long i = 0 ; i < (b - customBoxes.size ()); ++i) {
73- cout << i+1 ;
74- if (i != (b - customBoxes.size ()-1 ) || customBoxes.size ()) cout << " " ;
73+ std:: cout << i+1 ;
74+ if (i != (b - customBoxes.size ()-1 ) || customBoxes.size ()) std:: cout << " " ;
7575 }
7676
7777 for (unsigned long long i = 0 ; i < customBoxes.size (); ++i) {
78- cout << customBoxes[i];
79- if (i != customBoxes.size ()-1 ) cout << " " ;
78+ std:: cout << customBoxes[i];
79+ if (i != customBoxes.size ()-1 ) std:: cout << " " ;
8080 }
8181 }
82- cout << ' \n ' ;
82+
83+ std::cout << ' \n ' ;
8384}
8485
8586void printAnswerConstantSpace (const unsigned long long &n, const unsigned long long &k, const unsigned long long &b) {
8687 if (sumFirstNums (b) > n || sumLastNums (k, b) < n) {
87- cout << " -1" ;
88+ std:: cout << " -1" ;
8889 } else {
8990 unsigned long long sum = sumFirstNums (b);
9091 unsigned long long valToAdd = k + 1 ;
@@ -95,35 +96,37 @@ void printAnswerConstantSpace(const unsigned long long &n, const unsigned long l
9596 sum -= (b - numCustomBoxes);
9697
9798 // add largest value we need
98- valToAdd = min (n - sum, valToAdd- 1 );
99- cout << valToAdd;
99+ valToAdd = std:: min (n - sum, valToAdd - 1 );
100+ std:: cout << valToAdd;
100101
101102 sum += valToAdd;
102103 numCustomBoxes++;
103104
104- if (numCustomBoxes != b) cout << " " ;
105+ if (numCustomBoxes != b) std:: cout << " " ;
105106 }
106107
107108 for (unsigned long long i = 0 ; i < (b - numCustomBoxes); ++i) {
108- cout << i+ 1 ;
109- if (i != (b - numCustomBoxes- 1 )) cout << " " ;
109+ std:: cout << i + 1 ;
110+ if (i != (b - numCustomBoxes - 1 )) std:: cout << " " ;
110111 }
111112
112113 }
113- cout << ' \n ' ;
114+
115+ std::cout << ' \n ' ;
114116}
115117
116118int main () {
117119 int t;
118- cin >> t;
120+ std:: cin >> t;
119121 unsigned long long n, k, b;
120122
121- cout << fixed << std::setprecision (0 );
123+ std:: cout << std:: fixed << std::setprecision (0 );
122124
123125 for (int i = 0 ; i < t; ++i) {
124- cin >> n >> k >> b;
126+ std:: cin >> n >> k >> b;
125127 // printAnswerExtraSpace(n, k, b);
126128 printAnswerConstantSpace (n, k, b);
127129 }
130+
128131 return 0 ;
129132}
0 commit comments