結果
問題 | No.2176 LRM Question 1 |
ユーザー | deuteridayo |
提出日時 | 2023-01-06 22:08:11 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 61 ms / 2,000 ms |
コード長 | 483 bytes |
コンパイル時間 | 1,786 ms |
コンパイル使用メモリ | 199,800 KB |
実行使用メモリ | 26,880 KB |
最終ジャッジ日時 | 2024-11-30 18:17:18 |
合計ジャッジ時間 | 3,227 ms |
ジャッジサーバーID (参考情報) |
judge5 / 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"; } }