| Task: | Equilateral numbers |
| Sender: | TyƤmiesklubi |
| Submission time: | 2024-11-16 13:58:38 +0200 |
| Language: | C++ (C++20) |
| 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.13 s | details |
| #9 | ACCEPTED | 0.16 s | details |
| #10 | ACCEPTED | 0.16 s | details |
| #11 | ACCEPTED | 0.16 s | details |
| #12 | ACCEPTED | 0.16 s | details |
Code
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
long long n;
cin >> n;
auto bins = [](long long x){
long long ans = 0;
for(long long b=1ll<<30; b; b/=2){
long long p = ans + b;
if(p*(p+1)/2 <= x) ans = p;
}
return (ans)*(ans+1)/2;
};
int ans = 3;
for(long long i=1; i*(i+1)/2<=n; i++){
long long k = i*(i+1)/2;
if(k == n){
ans = 1;
break;
}
long long m = n-k;
long long aa = bins(m);
if(aa == m) ans = 2;
}
cout << ans << '\n';
}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 |
