結果
問題 | No.2940 Sigma Sigma Div Floor Problem |
ユーザー |
![]() |
提出日時 | 2025-01-15 15:52:34 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 17 ms / 6,000 ms |
コード長 | 3,896 bytes |
コンパイル時間 | 3,578 ms |
コンパイル使用メモリ | 279,380 KB |
実行使用メモリ | 9,892 KB |
最終ジャッジ日時 | 2025-01-15 15:52:48 |
合計ジャッジ時間 | 12,388 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 29 TLE * 1 |
ソースコード
//#pragma GCC target("avx2")//#pragma GCC optimize("O3")//#pragma GCC optimize("unroll-loops")#include <bits/stdc++.h>using namespace std;using ll=long long;using ull=unsigned long long;using pii=pair<int,int>;using pll=pair<ll,ll>;template<class T>using vvector=vector<vector<T>>;template<class T>using vvvector=vector<vvector<T>>;template<class T>using vvvvector=vector<vvvector<T>>;#define Vector(type, name, ...) vector<type> name(__VA_ARGS__)#define VVector(type, name, h, ...) \vector<vector<type>> name(h, vector<type>(__VA_ARGS__))#define VVVector(type, name, h, w, ...) \vector<vector<vector<type>>> name( \h, vector<vector<type>>(w, vector<type>(__VA_ARGS__)))#define VVVVector(type, name, a, b, c, ...) \vector<vector<vector<vector<type>>>> name( \a, vector<vector<vector<type>>>( \b, vector<vector<type>>(c, vector<type>(__VA_ARGS__))))#define OVERLOAD_REP(_1, _2, _3, _4, name, ...) name#define REP1(n) for (int _ = 0; _ < (int)(n); _++)#define REP2(i,n) for (int i = 0; i < (int)(n); i++)#define REP3(i,l,r) for (int i = (int)(l); i < (int)(r); i++)#define REP4(i,l,r,d) for (int i = (int)(l); (d) > 0 ? i < (int)(r) : i > (int)(r); i += (d))#define rep(...) OVERLOAD_REP(__VA_ARGS__,REP4,REP3,REP2,REP1)(__VA_ARGS__)#define OVERLOAD_REPll(_1, _2, _3, _4, name, ...) name#define REP1ll(n) for (int _ = 0; _ < (int)(n); _++)#define REP2ll(i,n) for (int i = 0; i < (int)(n); i++)#define REP3ll(i,l,r) for (int i = (int)(l); i < (int)(r); i++)#define REP4ll(i,l,r,d) for (int i = (int)(l); (d) > 0 ? i < (int)(r) : i > (int)(r); i += (d))#define repll(...) OVERLOAD_REPll(__VA_ARGS__,REP4,REP3,REP2,REP1)(__VA_ARGS__)#define all(x) (x).begin(),(x).end()#define rall(x) (x).rbegin(),(x).rend()template<class T>void chmin(T &a,T b){if(a>b){a=b;}}template<class T>void chmax(T &a,T b){if(a<b){a=b;}}ostream &operator<<(ostream &os, const __int128_t &N) {string retu="";if(N==0){retu="0";}else{__int128_t NN=N;if(NN<0){retu+='-';NN=-NN;}for(;NN>0;NN/=10){retu+=(char)(NN%10)+'0';}reverse(retu.begin(),retu.end());}os<<retu;return os;}template<class T1,class T2>ostream &operator<< (ostream &os, pair<T1,T2> &p){if(&os==&cerr){return os << "(" << p.first << ", " << p.second << ")";}return os << p.first << " " << p.second;}template <class Ch,class Tr,class Container> basic_ostream<Ch,Tr> &operator<<(basic_ostream<Ch,Tr> &os, const Container &x) {bool first=true;if(&os==&cerr){os<<"[";}for(auto &y:x){if(&os==&cerr){os<<(first?"":", ")<<y;}else{os<<(first?"":" ")<<y;}first=false;}if(&os==&cerr){os<<"]";}return os;}template <class T, class S, class U> ostream &operator<<(ostream &os, const priority_queue<T, S, U> &pq) {auto _pq = pq;vector<T> retu;while(!empty(_pq)) retu.emplace_back(_pq.top()), _pq.pop();return os << retu;}vector<size_t> Subsets(const size_t bit){vector<size_t> subsets;size_t bit_=bit;while(bit_){subsets.emplace_back(bit_);bit_-=1;bit_&=bit;}subsets.emplace_back(0);reverse(subsets.begin(),subsets.end());return subsets;}long long pow_mod(long long x,long long n,long long mod){if(n==0){return 1LL;}if(n%2==0){long long p=pow_mod(x,n/2,mod);return p*p%mod;}else{long long p=pow_mod(x,n/2,mod);p*=p;p%=mod;p*=x;return p%mod;}}int main(){ll N;cin>>N;ll mod=998244353;ll ans=0;rep(i,1,N+1){ll c=(N+1-i)/i;ans+=c*(c+1)/2*i+(c+1)*(N+1-i-c*i);ans%=mod;}cout<<ans<<"\n";}