P9707 [KMOI R1] 音波武器 题解
Snowflake_Fairy · · 题解
思路:
由于数据中说:
假如我们每次都计算的话,就会超时,因此我们可以用一个数据,预处理
AC CODE:
#include <bits/stdc++.h>
using namespace std;
const int N = 2e6 + 10;
long long a[N];
int main() {
long long l, r, k;
cin >> l >> r >> k;
long long s = 0;
a[0] = 1;
for (int i = 1; i < l; i++)
a[i] = a[i - 1] * i % k;
for (int i = l; i <= r; i++) {
a[i] = a[i - 1] * i % k;
s = (a[i] > s ? a[i] : s);
}
cout << s;
return 0;
}