/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 208ms 684.0 KiB
#3 Accepted 240ms 724.0 KiB
#4 Accepted 230ms 732.0 KiB

Code

/*
sum_{i=1}^{n} i * 'a' + 1 * 'b'  k

==> f(l) = l * (l + 1) / 2 + l <= k

if f(l) == k ==> 'b' else 'a'
*/
#include <bits/stdc++.h>
using namespace std;

int main() {
    int t;
    cin >> t;
    while (t--) {
        long long k;
        cin >> k;
        auto f = [](int x) -> long long {
            return x * (x + 1LL) / 2LL + x;
        };
        int l = 0, r = 1e9;
        while (l < r) {
            int m = (l + r + 1) / 2;
            if (f(m) <= k) {
                l = m;
            } else {
                r = m - 1;
            }
        }
        cout << (f(l) != k ? 'a' : 'b') << "\n";
    }
}

Information

Submit By
Type
Submission
Problem
P1223 C. Infinity Sequence
Contest
Happy New Year 2026
Language
C++17 (G++ 13.2.0)
Submit At
2026-01-06 15:05:28
Judged At
2026-01-06 15:05:28
Judged By
Score
100
Total Time
240ms
Peak Memory
732.0 KiB