만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

수행평가 1

시간 제한1초메모리 제한256 MB

요약
A에 연속 구간으로 등장하지 않는 가장 짧은 수열의 길이와 그 경우의 수를 1e9+7로 나눈 나머지를 구합니다.
난이도

보통10점 중 6점

유형
문자열 매칭, 해시맵, 조합론
정답자
아직 제출이 없습니다

문제

재현이는 알고리즘 수행평가 과제로 길이가 NN인 수열 AA를 냈다. AA의 모든 원소는 MM 이하의 자연수다. 재현이는 모든 원소가 MM 이하인 수열을 아름다운 수열이라고 부른다.

재현이는 자신만의 아름다운 수열 BB를 하나 더 만들어 내려고 한다. BB의 원소도 모두 11 이상 MM 이하의 자연수이고, 길이는 11 이상이다. 선생님은 BB가 AA의 연속된 부분 수열이면 표절로 판단하므로, BB는 AA 안에 연속으로 등장하면 안 된다.

시간이 없는 재현이는 길이가 가장 짧은 BB를 만들려고 한다. 조건을 만족하는 BB의 최소 길이와, 그 길이를 가지는 BB의 개수를 109+710^9 + 7로 나눈 나머지를 구하여라. 길이가 N+1N + 1인 수열은 AA 안에 연속으로 등장할 수 없으므로 답은 항상 존재한다.

입력

첫째 줄에 NN과 MM이 공백으로 구분되어 주어진다. (1≤N,M≤1000001 \le N, M \le 100000)

둘째 줄에 수열 AA의 원소 A1,A2,…,ANA_1, A_2, \dots, A_N이 공백으로 구분되어 주어진다. (1≤Ai≤M1 \le A_i \le M)

출력

첫째 줄에 조건을 만족하는 BB의 최소 길이와, 그 길이를 가지는 BB의 개수를 109+710^9 + 7로 나눈 나머지를 공백으로 구분해 출력한다.

예제3

  1. 예제 1

    입력
    8 2
    1 2 1 1 2 2 2 2
    
    예상 출력
    3 3
    
  2. 예제 2

    입력
    4 5
    1 2 3 4
    
    예상 출력
    1 1
    
  3. 예제 3

    입력
    6 3
    1 2 3 3 2 1
    
    예상 출력
    2 4