結果
問題 |
No.2176 LRM Question 1
|
ユーザー |
![]() |
提出日時 | 2023-01-06 22:46:18 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 884 bytes |
コンパイル時間 | 440 ms |
コンパイル使用メモリ | 55,416 KB |
実行使用メモリ | 10,496 KB |
最終ジャッジ日時 | 2024-11-30 19:14:39 |
合計ジャッジ時間 | 23,122 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 13 WA * 2 TLE * 7 |
ソースコード
#include <iostream> using namespace std; int fac(int n, int m){ if (n > 1) { n *= fac(n - 1, m); if (n >= m) { n %= m; } return n; } else { return 1; } } int main(){ long long int L, R, M; cin >> L >> R >> M; if (L >= M) { cout << 0 << endl; return 0; } int facto = 1, index = 2; while (facto != 0) { facto *= fac(index, M); if (facto >= M) { facto %= M; } index++; } long long int ans = 0; for (int i = L; i < index + 1; i++) { long long int a = 1; for (int j = 1; j <= i; j++) { a *= fac(j, M); if (a >= M) { a %= M; } } ans += a; if (ans >= M) { ans %= M; } } cout << ans << endl; return 0; }