Task: | Equilateral numbers |
Sender: | Barren plateau |
Submission time: | 2024-11-16 14:28:05 +0200 |
Language: | C++ (C++17) |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.00 s | details |
#2 | ACCEPTED | 0.00 s | details |
#3 | ACCEPTED | 0.00 s | details |
#4 | ACCEPTED | 0.00 s | details |
#5 | ACCEPTED | 0.00 s | details |
#6 | ACCEPTED | 0.02 s | details |
#7 | ACCEPTED | 0.00 s | details |
#8 | ACCEPTED | 0.12 s | details |
#9 | ACCEPTED | 0.14 s | details |
#10 | ACCEPTED | 0.14 s | details |
#11 | ACCEPTED | 0.14 s | details |
#12 | ACCEPTED | 0.14 s | details |
Code
#include <bits/stdc++.h>using namespace std;using Z = long long int;int main() {cin.sync_with_stdio(false);cin.tie(nullptr);Z n;cin >> n;Z i = 1;Z best = 3;while(true) {Z x = i * (i + 1) / 2;if(x > n) {break;}if(x == n) {best = 1;break;} else {Z diff = n - x;Z A = 0;Z B = 2000000;while(A != B) {Z M = (A + B + 1) / 2;if(M * (M + 1) / 2 > diff) {B = M - 1;} else {A = M;}}if(diff == A * (A + 1) / 2) {best = 2;}}++i;}cout << best << "\n";return 0;}
Test details
Test 1
Verdict: ACCEPTED
input |
---|
1 |
correct output |
---|
1 |
user output |
---|
1 |
Test 2
Verdict: ACCEPTED
input |
---|
2 |
correct output |
---|
2 |
user output |
---|
2 |
Test 3
Verdict: ACCEPTED
input |
---|
3 |
correct output |
---|
1 |
user output |
---|
1 |
Test 4
Verdict: ACCEPTED
input |
---|
5 |
correct output |
---|
3 |
user output |
---|
3 |
Test 5
Verdict: ACCEPTED
input |
---|
33 |
correct output |
---|
3 |
user output |
---|
3 |
Test 6
Verdict: ACCEPTED
input |
---|
12385719843 |
correct output |
---|
3 |
user output |
---|
3 |
Test 7
Verdict: ACCEPTED
input |
---|
10935032 |
correct output |
---|
3 |
user output |
---|
3 |
Test 8
Verdict: ACCEPTED
input |
---|
659023495928 |
correct output |
---|
3 |
user output |
---|
3 |
Test 9
Verdict: ACCEPTED
input |
---|
913591235689 |
correct output |
---|
2 |
user output |
---|
2 |
Test 10
Verdict: ACCEPTED
input |
---|
999999911791 |
correct output |
---|
1 |
user output |
---|
1 |
Test 11
Verdict: ACCEPTED
input |
---|
1000000000000 |
correct output |
---|
2 |
user output |
---|
2 |
Test 12
Verdict: ACCEPTED
input |
---|
999999999998 |
correct output |
---|
3 |
user output |
---|
3 |