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 |