結果
問題 | No.2176 LRM Question 1 |
ユーザー |
|
提出日時 | 2023-01-06 22:08:11 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 56 ms / 2,000 ms |
コード長 | 483 bytes |
コンパイル時間 | 2,027 ms |
コンパイル使用メモリ | 192,180 KB |
最終ジャッジ日時 | 2025-02-09 23:59:23 |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
#include<bits/stdc++.h> using namespace std; long seki[1000001],sekii[1000001]; long s[1000001]; long f(long m,long v){ if(v>=m)return s[m-1]; else return s[v]; } int main() { long l,r,m; cin >>l>>r>>m; { long ans =0; seki[0]=1; sekii[0]=1; for(int i=1;i<=m;i++)seki[i]=(seki[i-1]*i)%m; for(int i=1;i<=m;i++)sekii[i]=(sekii[i-1]*seki[i])%m; s[0]=0; for(int i=1;i<=m;i++){ s[i]=s[i-1]+sekii[i]; s[i]%=m; } cout<<(f(m,r)-f(m,l-1)+m*m)%m<<"\n"; } }