結果
問題 |
No.3187 Mingle
|
ユーザー |
|
提出日時 | 2025-06-20 23:02:12 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,235 bytes |
コンパイル時間 | 5,462 ms |
コンパイル使用メモリ | 338,208 KB |
実行使用メモリ | 60,368 KB |
最終ジャッジ日時 | 2025-06-20 23:03:29 |
合計ジャッジ時間 | 67,166 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 9 TLE * 21 |
ソースコード
#include<bits/stdc++.h> using namespace std; #include<atcoder/all> using namespace atcoder; using mint=atcoder::modint; #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #define int long long #define rep(i,n) for(int i=0;i<(n);i++) #define rng(i,l,r) for(int i=(l);i<(r);i++) #define rrep(i,n) for(int i=(n)-1;i>=0;i--) #define rrng(i,l,r) for(int i=(r)-1;i>=(l);i--) #define fi first #define se second #define all(x) (x).begin(),(x).end() struct fast_io{fast_io(){std::cin.tie(nullptr)->sync_with_stdio(false);}}_; mint op(mint a,mint b){return 0;} mint e(){return 0;} mint mapping(mint f,mint x){return f+x;} mint composition(mint f,mint g){return f+g;} mint id(){return 0;} signed main(){ int N,P;cin>>N>>P; modint::set_mod(P); lazy_segtree<mint,op,e,mint,mapping,composition,id> dp(N+1); vector<vector<int>> trans(N+1); for(int i=1;i<=N;i++){ for(int j=i;j<=N;j+=i){ trans[j].push_back(i); } if(i>2){ mint t=dp.get(i); t=t/i+1; t*=i/mint(i-trans[i].size()); dp.set(i,t); } mint t=dp.get(i); for(auto&&l:trans[i]){ dp.apply(i+1,min(N+1,i+l),t); } } // for(int i=1;i<=N;i++){ // cout<<dp.get(i).val()<<" "; // } // cout<<endl; cout<<dp.get(N).val()<<endl; }