結果
問題 |
No.3296 81-like number
|
ユーザー |
![]() |
提出日時 | 2025-10-09 00:50:07 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 593 bytes |
コンパイル時間 | 2,756 ms |
コンパイル使用メモリ | 278,344 KB |
実行使用メモリ | 7,716 KB |
最終ジャッジ日時 | 2025-10-09 00:50:12 |
合計ジャッジ時間 | 4,108 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 15 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; int main() { cin.tie(nullptr)->sync_with_stdio(false); ll n; cin >> n; vector<bool> is_prime(100'001, true); is_prime[0] = is_prime[1] = false; ll ans = 0; for (ll i = 2; i * i <= n; ++i) { if (!is_prime[i]) continue; for (ll j = i * i; j <= 100'000; j += i) is_prime[j] = false; ll x = i * i; while (true) { ans += x; if (x > n / i) break; x *= i; } } cout << ans << '\n'; return 0; }