O ( n − m ) O(n - m) O(n−m)
#include <bits/stdc++.h>
using namespace std;
int type, n, m, p;
signed main() {
cin >> type >> n >> m >> p;
int a = 1; n = n + 1 - m;
while (m -- ) a = 1ll * a * n % p, n -- ;
cout << a << '\n';
}
O ( n − m ) O(n - m) O(n−m)
#include <bits/stdc++.h>
using namespace std;
int type, n, m, p;
signed main() {
cin >> type >> n >> m >> p;
int a = 1; n = n + 1 - m;
while (m -- ) a = 1ll * a * n % p, n -- ;
cout << a << '\n';
}