파일 업로드

세븐스 코드

profile
실행 시간 제한메모리 제한
1 초128 MB
📃 해결할 문제

인간은 다양한 종류의 음악을 듣는 것을 좋아합니다. 위대한 작곡가 Wolfgang Amadeus Moozart는 특정 코드가 사람들을 아프게 만든다는 것을 한 번 발견했습니다. 이 코드는 세븐스 코드라고 알려져 있으며, 따라서 일반적으로 모든 음악 작품에서 피합니다.

이런 음악 역사의 미세한 부분을 몰랐던 피아노 연주가 희라는 자신이 가장 좋아하는 노래를 무료로 길거리에서 연주하기로 결정했습니다. 여러분의 임무는 이 노래에서 모든 세븐스 코드를 식별하여 사람들이 얼마나 아파할지 추정하는 것입니다.

희라가 연주하는 노래는 N (1 <= N <= 20,000) 개의 음표로 구성되어 있으며, 각각 1..88 범위의 정수입니다. 세븐스 코드는 C (1 <= C <= 10) 개의 다른 음표로 지정되며, 이는 또한 1..88 범위의 정수입니다. 그러나 이러한 음표들이 이동되거나 (공통량만큼 증가하거나 감소함) 또는 재정렬되더라도, 코드는 세븐스 코드 그대로입니다! 예를 들어 '4 6 7'이 세븐스 코드라면, '3 5 6'(이동해서 -1), '6 8 9'(이동해서 +2), '6 4 7'(재정렬), 그리고 '5 3 6'(이동하고 재정렬)도 세븐스 코드입니다.

세븐스 코드는 위의 조건을 충족하는 C개의 연속 음표의 순서입니다. 따라서 노래에서 시작 위치에 의해 고유하게 결정됩니다. 모든 세븐스 코드의 시작 위치의 인덱스를 결정해 주세요.

💻 입력
  • 첫 번째 줄 : 하나의 정수 N입니다.
  • 두 번째 줄..1+N 번째 줄 : 희라의 노래에 있는 N개의 음표, 한 줄에 한 음표씩입니다.
  • 2+N 번째 줄 : 하나의 정수 C입니다.
  • 3+N 번째 줄..2+N+C 번째 줄 : 세븐스 코드의 예시인 C개의 음표. 이런 음표들을 이동시키거나/또는 재정렬할 경우에도 세븐스 코드입니다.
🖨️ 출력
  • 첫 번째 줄 : 희라의 노래에 나타나는 세븐스 코드의 수, K 입니다. 세븐스 코드의 다른 인스턴스가 서로 겹칠 수 있다는 점을 유의하십시오.
  • 두 번째 줄..1+K 번째 줄 : 각 줄은 세븐스 코드의 시작 인덱스를 지정합니다 (인덱스 1은 희라의 노래에서 첫 번째 음표, 인덱스 N은 마지막 음표입니다). 인덱스는 증가하는 정렬 순서로 나열되어야 합니다.

💻 예제 입력 1
6
1
8
5
7
9
10
3
4
6
7
🖨️ 예제 출력 1
2
2
4

출처: USACO 2011 November Contest, Bronze Division Problem 3. Moo Sick