| Task: | Equilateral numbers | 
| Sender: | Otis++ | 
| Submission time: | 2024-11-16 16:58:41 +0200 | 
| Language: | C++ (C++17) | 
| Status: | READY | 
| Result: | WRONG ANSWER | 
| 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 | WRONG ANSWER | 0.00 s | details | 
| #6 | WRONG ANSWER | 0.00 s | details | 
| #7 | WRONG ANSWER | 0.01 s | details | 
| #8 | WRONG ANSWER | 0.00 s | details | 
| #9 | WRONG ANSWER | 0.00 s | details | 
| #10 | ACCEPTED | 0.00 s | details | 
| #11 | WRONG ANSWER | 0.00 s | details | 
| #12 | WRONG ANSWER | 0.00 s | details | 
Code
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
 
ll n;
 
bool ok(ll x) {
    ll e = x*(x+1)/2;
    return (e <= n);
}
 
ll e(ll x) {
    return x*(x+1)/2;
}
 
int main() {
 
    // freopen("input.txt", "r", stdin);
    // freopen("output.txt", "w", stdout);
 
 
    cin >> n;
 
    ll ans = 0;
    while (n > 0) {
        ll x = 0;
        for (ll b = 1414220; b >= 1; b /= 2) {
            while (ok(x+b)) x += b;
        }
        n -= e(x);
        ans++;
    }
 
    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: WRONG ANSWER
| input | 
|---|
| 33 | 
| correct output | 
|---|
| 3 | 
| user output | 
|---|
| 4 | 
Test 6
Verdict: WRONG ANSWER
| input | 
|---|
| 12385719843 | 
| correct output | 
|---|
| 3 | 
| user output | 
|---|
| 5 | 
Test 7
Verdict: WRONG ANSWER
| input | 
|---|
| 10935032 | 
| correct output | 
|---|
| 3 | 
| user output | 
|---|
| 4 | 
Test 8
Verdict: WRONG ANSWER
| input | 
|---|
| 659023495928 | 
| correct output | 
|---|
| 3 | 
| user output | 
|---|
| 5 | 
Test 9
Verdict: WRONG ANSWER
| input | 
|---|
| 913591235689 | 
| correct output | 
|---|
| 2 | 
| user output | 
|---|
| 6 | 
Test 10
Verdict: ACCEPTED
| input | 
|---|
| 999999911791 | 
| correct output | 
|---|
| 1 | 
| user output | 
|---|
| 1 | 
Test 11
Verdict: WRONG ANSWER
| input | 
|---|
| 1000000000000 | 
| correct output | 
|---|
| 2 | 
| user output | 
|---|
| 5 | 
Test 12
Verdict: WRONG ANSWER
| input | 
|---|
| 999999999998 | 
| correct output | 
|---|
| 3 | 
| user output | 
|---|
| 5 | 
