배열 제작의 달인
시간 제한4초메모리 제한1024 MB
길이 N의 배열에서 0인 칸을 1부터 N까지의 정수로 채워, 각 값 x가 최대 x번만 나타나는 방법의 수를 998244353으로 나눈 나머지로 구합니다.
문제
이상 이하의 정수로 이루어진 길이 의 배열 가 있다.
Jiro는 값이 인 모든 원소를 이상 이하의 정수로 바꾸려고 한다. 이때 바꾼 배열은 아래 조건을 만족해야 한다.
- 이상 이하의 각 정수 에 대하여, 배열 에 가 등장하는 횟수는 이하이다.
Jiro가 조건을 만족하도록 만들 수 있는 배열의 가짓수를 으로 나눈 나머지를 구하시오. 은 소수이다.
입력
첫 번째 줄에 배열 의 길이 이 주어진다. ()
두 번째 줄에 배열 이 공백으로 구분되어 주어진다. ()
출력
조건을 만족하는 배열의 가짓수를 으로 나눈 나머지를 첫 번째 줄에 출력한다.