Accepted
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