結果
問題 | No.2880 Max Sigma Mod |
ユーザー |
![]() |
提出日時 | 2024-11-11 22:37:37 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 14 ms / 3,000 ms |
コード長 | 756 bytes |
コンパイル時間 | 2,016 ms |
コンパイル使用メモリ | 194,232 KB |
最終ジャッジ日時 | 2025-02-25 03:56:30 |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 48 |
ソースコード
#include <bits/stdc++.h> //#include <atcoder/modint> using namespace std; //using namespace atcoder; using ll = long long; //using mint = modint998244353; int main(){ cin.tie(nullptr); ios_base::sync_with_stdio(false); ll N, M, x, l, r; cin >> N >> M; //v(x) = sum(i=1 to M) (x/i)*i vector<ll> v(N+2); for (int i=1; i<=M; i++){ x = N/i; for (int j=1; j<=x; j++){ //j*i~(j+1)*i-1にj*iを足す。 l = j*i; r = min((j+1)*i-1, (int)N); v[r+1] -= j*i; v[l] += j*i; } } ll ans=0; for (int i=1; i<=N; i++) v[i] += v[i-1]; for (int i=1; i<=N; i++){ ans = max(ans, M*i-v[i]); } cout << ans << endl; return 0; }