結果
問題 | No.2940 Sigma Sigma Div Floor Problem |
ユーザー |
|
提出日時 | 2024-10-18 22:59:48 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 730 bytes |
コンパイル時間 | 4,400 ms |
コンパイル使用メモリ | 253,712 KB |
最終ジャッジ日時 | 2025-02-24 21:09:12 |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | RE * 4 |
other | RE * 29 TLE * 1 |
ソースコード
#include <bits/stdc++.h>using namespace std;#include <atcoder/all>using namespace atcoder;using mint = modint998244353;using ll = long long;int main () {ll N;cin >> N;ll h = sqrt(N);h = max(0ll, h - 10);while (h * h <= N) h ++;h --;mint ans = 0;for (ll i = 1; i <= h; i ++) {mint q = N / i, r = N % i;ans += q * (r + 1);ans += (q * (q - 1) * i) / 2;}ll fl = h + 1;while (N / fl >= h) {mint q = N / fl, r = N % fl;ans += q * (r + 1);ans += (q * (q - 1) * fl) / 2;fl ++;}for (ll q = h - 1; q >= 0; q --) {mint al = (N) / (q + 1) + 1, bt = N / q;mint s = al + bt, d = bt - al + 1;ans += d * (N + 1) * q;ans -= s * d * q * (q + 1) / 4;}cout << ans.val() << endl;}