Skip to content

Commit 6effd61

Browse files
committed
Number Algorithms: bonetrousle add source + style changes
1 parent dd3610d commit 6effd61

File tree

1 file changed

+25
-22
lines changed

1 file changed

+25
-22
lines changed

src/algorithm_practice/Number_Algorithms/bonetrousle/bonetrousle.cpp

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
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

4040
unsigned long long sumFirstNums(const unsigned long long &x) {
41-
return (x*(x+1))/2;
41+
return (x * (x + 1)) / 2;
4242
}
4343

4444
unsigned 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

5353
void 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

8586
void 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

116118
int 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

Comments
 (0)