Submission
Status:
PPPPPPPPPP
Score: 100
User: Dormon
Problemset: H.Weird Ping-pong
Language: cpp
Time: 0.159 second
Submitted On: 2024-12-03 10:42:27
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
using ll = long long;
const ll mod = 1e9+7;
int main() {
int n; scanf("%d", &n);
vector<ll> a(n);
for (int i = 0;i < n;i++) scanf("%lld", &a[i]); sort(a.begin(), a.end());
ll ans = 1;
for (int i = 0;i < n;i++){
if (a[i] - i <= 0) {
printf("0");
return 0;
}
ans = ans*(a[i] - i)%mod;
}
printf("%lld", ans);
return 0;
}