USACO 2012 - Moo Sick

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1000 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Ai cũng biết bò thích nghe mọi thể loại nhạc. Gần như mọi thể loại — nhà soạn nhạc vĩ đại của loài bò Wolfgang Amadeus Moozart từng phát hiện rằng một hợp âm cụ thể có xu hướng khiến bò khá khó chịu. Hợp âm này, được gọi là hợp âm bảy của động vật nhai lại, vì thế thường bị tránh trong mọi tác phẩm âm nhạc dành cho bò.

Không biết những chi tiết tinh tế trong lịch sử âm nhạc của loài bò, Farmer John quyết định phát bài hát yêu thích của mình qua loa trong chuồng. Nhiệm vụ của bạn là xác định tất cả các hợp âm bảy của động vật nhai lại trong bài hát này để ước lượng mức độ khó chịu mà nó sẽ gây ra cho đàn bò.

Bài hát FJ phát là một dãy gồm \(N\) nốt nhạc (\(1 \leq N \leq 20\,000\)), mỗi nốt là một số nguyên trong khoảng \(1 \ldots 88\). Một hợp âm bảy của động vật nhai lại được xác định bởi một dãy gồm \(C\) nốt phân biệt (\(1 \leq C \leq 10\)), cũng là các số nguyên trong khoảng \(1 \ldots 88\). Tuy nhiên, ngay cả khi các nốt này được chuyển giọng (cùng tăng hoặc cùng giảm một lượng) hoặc được sắp xếp lại, hợp âm vẫn là một hợp âm bảy của động vật nhai lại! Chẳng hạn, nếu 4 6 7 là một hợp âm bảy của động vật nhai lại, thì 3 5 6 (chuyển giọng \(-1\)), 6 8 9 (chuyển giọng \(+2\)), 6 4 7 (sắp xếp lại) và 5 3 6 (vừa chuyển giọng vừa sắp xếp lại) cũng đều là các hợp âm bảy của động vật nhai lại.

Một hợp âm bảy của động vật nhai lại là một dãy gồm \(C\) nốt liên tiếp thỏa mãn các tiêu chí trên. Vì thế, mỗi hợp âm được xác định duy nhất bởi vị trí bắt đầu của nó trong bài hát. Hãy xác định các chỉ số bắt đầu của tất cả các hợp âm bảy của động vật nhai lại.

Dữ liệu vào

  • Dòng đầu tiên chứa một số nguyên \(N\).
  • \(N\) dòng tiếp theo chứa \(N\) nốt trong bài hát của FJ, mỗi dòng một nốt.
  • Dòng tiếp theo chứa một số nguyên \(C\).
  • \(C\) dòng cuối chứa \(C\) nốt của một hợp âm bảy mẫu của động vật nhai lại. Mọi cách chuyển giọng và/hoặc sắp xếp lại các nốt này cũng là hợp âm bảy của động vật nhai lại.

Dữ liệu ra

Dòng đầu tiên chứa số lượng \(K\) hợp âm bảy của động vật nhai lại xuất hiện trong bài hát của FJ. Lưu ý rằng các lần xuất hiện khác nhau có thể chồng lấn nhau.

Mỗi dòng trong \(K\) dòng tiếp theo chứa chỉ số bắt đầu của một hợp âm bảy của động vật nhai lại (chỉ số 1 ứng với nốt đầu tiên trong bài hát của FJ, còn chỉ số \(N\) ứng với nốt cuối cùng). Các chỉ số phải được liệt kê theo thứ tự tăng dần.

Ví dụ

Ví dụ 1

Input
6
1
8
5
7
9
10
3
4
6
7
Output
2
2
4
Giải thích

Bài hát của FJ là \(1, 8, 5, 7, 9, 10\). Một hợp âm bảy của động vật nhai lại là một cách chuyển giọng/sắp xếp lại của \(4, 6, 7\).

Có hai hợp âm bảy của động vật nhai lại xuất hiện trong bài hát của FJ (và chúng thực sự chồng lấn nhau một nốt). Hợp âm thứ nhất là \(8, 5, 7\) (chuyển giọng \(+1\) rồi sắp xếp lại), bắt đầu tại chỉ số 2; hợp âm thứ hai là \(7, 9, 10\) (chuyển giọng \(+3\)), bắt đầu tại chỉ số 4.

Nguồn

USACO 2011 November Contest, Bronze Division — Moo Sick. Tác giả đề: Rob Seay.

https://usaco.org/index.php?page=viewproblem2&cpid=86

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: